【发布时间】:2021-03-30 03:37:55
【问题描述】:
我有一个有 1000 多名参与者的 df (chpt4),以及参加考试的日期。我想根据跟进 (t1:t4) 和基线 (t0) 之间经过的月数来调整日期。为此,我创建了 4 个额外的列 (difft0t2:difft0t4),它们准确地显示了测试之间经过的月份。图片就是我现在的样子。
我将月份分为 5 个不同的类别:(我也认为这个向量可以帮助我作为计数器)
FU6 <- 1:9
FU12 <- 10:18
FU24 <- 19:30
FU36 <- 31:42
FU48 <- 43:54
我最初的想法是使用 which() 开始索引属于上述范围的 difft0t1 列的值
which(chpt4$difft0t1 %in% c(FU6)) #this works
which(chpt4$difft0t1 %in% c(FU14)) #this doesn't work at all
...并使用该结果编号作为要粘贴到另一列的元素的索引。它只是不起作用。
与第 243 和 244 行中的图像示例保持一致,我希望输出列看起来像这样:
| baseline | FU6 | FU12 | FU24 | FU36 | FU48 |
|---|---|---|---|---|---|
| 2012-02-24 | NA | 2013-09-06 | 2014-02-21 | 2015-06-23 | NA |
| 2012-05-24 | NA | 2013-05-16 | NA | 2015-04-20 | 2016-05-12 |
【问题讨论】:
-
我不清楚这个问题,特别是
FU整数序列如何与所需的FU日期相关,以及您的which代码如何与所需的FU日期相关。为了清楚起见,考虑重新起草帖子。并且FU14没有在帖子中定义。最后,请dput数据样本,不要使用图像。见why。 -
请让那些试图帮助你的人更容易。不要将数据/代码添加为图像。提供一个可重现的示例以及预期的输出。阅读how to give a reproducible example。
-
如果同一个
FU组中有两个或多个测试怎么办?例如说 T1 和 T2 是否在 FU24 中(距离 T0 19 到 30 个月)对于任何 id?
标签: r loops indexing columnsorting