【发布时间】:2021-07-07 13:07:28
【问题描述】:
我有一个重复测量的数据集,它是长格式的。
我们正在使用完整的案例分析。我们的终点评估了变量从基线到第 3 个月、从基线到第 6 个月以及干预组和对照组之间的减少情况。
我需要每个 ID,包括基线和第 3 个月的数据或基线和第 6 个月的数据。但是,由于我的数据是长格式的 - 我不希望将其切换为宽格式 - 如果我只需使用例如drop_na() 可能我只是删除了一个时间点缺少数据的行,尽管如果该 ID 没有另一个时间点的数据,它也应该丢失。
在下面的示例中,应删除 id 423 和 id 143,因为它们仅具有基线信息。
有人知道如何解决这个问题吗?
非常感谢!
数据框结构:
a <- structure(list(id = c(778, 778, 101, 101, 101, 543, 543, 543,
423, 315, 315, 315, 491, 491, 504, 504, 708, 708, 708, 714, 714,
714, 408, 408, 418, 418, 279, 279, 279, 143), time = c(0, 6,
0, 3, 6, 0, 3, 6, 0, 0, 3, 6, 0, 6, 0, 6, 0, 3, 6, 0, 3, 6, 0,
3, 0, 6, 0, 3, 6, 0), group = c("control", "control", "intervention",
"intervention", "intervention", "intervention", "intervention",
"intervention", "intervention", "control", "control", "control",
"control", "control", "intervention", "intervention", "control",
"control", "control", "intervention", "intervention", "intervention",
"control", "control", "control", "control", "control", "control",
"control", "control"), var = c(46, 72, 90, 50, 73, 90, 96, 95,
75, 50, 80, 66, 52, 70, 100, 84, 90, 96, 85, 88, 88, 92, 60,
30, 95, 71, 86, 80, 91, 100)), row.names = c(NA, -30L), class = "data.frame")
> print(a)
【问题讨论】:
-
如果你需要完整的 obs 并且你有 3 个时间点,是否也应该删除所有具有 2 个 obs 的 id?
-
没有。但实际上,我需要 id 始终在基线时提供信息,而不仅仅是在两个后续时间点。不过,我的示例不包括这种情况。
-
好的,我更新了我的答案以包含您的最后一点。代码应该保留每个有基线和至少一个后续时间点的人。
-
谢谢!它确实有效!
标签: r