我有每周测量3个浓度的数据。我有另一个数据集来衡量一周的住院情况。模拟数据如下所示。
df <- data.frame(Date = as.Date(c("2023-01-02", "2023-01-03", "2023-01-04", "2023-01-09", "2023-01-10", "2023-01-11")),
Concentration = c(.05, .04, .08, 1.2, 1.3, 1.3),
Weekly_Count = lubridate:::week(c("2023-01-02", "2023-01-03", "2023-01-04", "2023-01-09", "2023-01-10", "2023-01-11")))
df
Date Concentration Weekly_Count
1 2023-01-02 0.05 1
2 2023-01-03 0.04 1
3 2023-01-04 0.08 1
4 2023-01-09 1.20 2
5 2023-01-10 1.30 2
6 2023-01-11 1.30 2
df2 <- data.frame(Weekly_Count = c(1, 2),
hospitalizations = c(12, 23))
df2
Weekly_Count hospitalizations
1 1 12
2 2 23
我遇到的问题是,我需要住院治疗值12来代表一周内收集的所有3个样本-我需要弄清楚如何将weekly_count为1的所有值指定为12次住院治疗。我通过Weekly_Count变量合并了两个 Dataframe ,但它在每个单独的浓度上添加了12,这对于一周的总住院人数来说是一个不正确的值。有没有一种方法可以保留单个测量值,以某种方式按weekly_count变量分组,并使住院周数代表所有测量值?这些数据将被输入到随机森林模型中,如果这将指导它应该采取的结构。
1条答案
按热度按时间juzqafwq1#
每周3个样本中的每一个都可以存储在其自己的列中,保留单个测量值及其日期,但每周仅使用一行。然后可以将结果与df2合并以添加附加度量。使用库data.table和tidyr:
3个每周样本现在存储在
df.result
中,每周指标住院治疗只有一个值。