我有一个很长的数据集,其中每个参与者(id)有21行数据,以反映21个不同的时间点(time)。时间1、2和3表示在“天”1收集的数据,并且时间4、5、6表示从“天”2收集的数据,以此类推。我试图使它,如果“dep”或“anx”在“时间”2,5,8,11,14,17,20期间是NA,那么与“时间”相关联的“天”上的所有数据都是NA。
这是一个以更简化的方式(2个参与者,每个参与者6行数据)构造数据的示例
data <- structure(list(id = c(1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2), time = c(1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6), day = c(1, 1, 1, 2, 2, 2, 1,
1, 1, 2, 2, 2), dep = c(18, NA, 14, 13, 15, 14, 8, 8, 9, 7, NA,
8), anx = c(28, NA, 22, 23, 25, 26, 7, 6, 7, 7, NA, 5)), class = c("tbl_df", "tbl", "data.frame"), row.names = c(NA, -12L))
这就是我想要的样子:
在我的实际数据集中,我有超过3000行的数据,所以我试图找出是否有一个好方法来做到这一点。非常感谢你的洞察力。
1条答案
按热度按时间lhcgjxsq1#