【发布时间】:2020-04-29 17:56:27
【问题描述】:
我正在使用长格式纵向数据集,其中每个人都有 1、2 或 3 个时间点。为了执行某些分析,我需要确保每个人的行数相同,即使它由 NA 组成,因为他们没有完成特定的时间点。
这是添加行之前的数据示例:
structure(list(Values = c(23, 24, 45, 12, 34, 23), P_ID = c(1,
1, 2, 2, 2, 3), Event_code = c(1, 2, 1, 2, 3, 1), Site_code = c(1,
1, 3, 3, 3, 1)), class = "data.frame", row.names = c(NA, -6L))
This is the data I aim to get after adding the relevant rows:
structure(list(Values = c(23, 24, NA, 45, 12, 34, 23, NA, NA),
P_ID = c(1, 1, 1, 2, 2, 2, 3, 3, 3), Event_code = c(1, 2,
3, 1, 2, 3, 1, 2, 3), Site_code = c(1, 1, 1, 3, 3, 3, 1,
1, 1)), class = "data.frame", row.names = c(NA, -9L))
我想编写代码,根据参与者是否进行了 1、2 或 3 次访问,自动将行添加到数据集。理想情况下,它会在复制 Participant_ID 和 site_code 时将其余数据全部设为 NA,但如果不可能,我会满足于创建正确的行数。
【问题讨论】:
-
只是我想要这样做的数据框的名称。
-
如果有办法,我也可以直接使用 csv 文件。
-
对不起。我看到我试图可视化数据集的尝试失败了——我现在上传了一张关于第一个变量/列的样子的图片。这些是右侧的更多数据,但关键是获取每个参与者的 event_code 并确保每个参与者的所有 3 个事件都有行,即使没有数据存在。
-
我创建了一个小样本:dput(sample) structure(c(23, 24, 45, 12, 34, 23, 1, 1, 2, 2, 2, 3, 1, 2, 1, 2, 3, 1, 1, 1, 3, 3, 3, 1), .Dim = c(6L, 4L), .Dimnames = list( NULL, c("Values", "P_ID", "Event_code ", "站点代码")))
-
这行得通吗?
标签: r add rows lme4 longitudinal