我有一个带有 ID、Wave (Wave1-4) 和 Score 的纵向数据集。这是具有相同结构的示例数据。原始数据的长度约为 2000 条,总共有 500 名参与者,采用长格式。
ID Wave Score
1 1001 1 28
2 1001 2 27
3 1001 3 28
4 1001 4 26
5 1002 1 30
6 1002 3 30
7 1003 1 30
8 1003 2 30
9 1003 3 29
10 1003 4 28
11 1004 1 22
12 1005 1 20
13 1005 2 18
14 1006 1 22
15 1006 2 23
16 1006 3 25
17 1006 4 19
我想选择所有四个“分数”测量值都可用的“ID”。换句话说,我想选择所有 4 波都有“分数”的参与者行。我一直在尝试选择具有所有“Wave”中数据的“ID”的行。到目前为止,我的试用一直基于这个想法:如果参与者拥有所有四个测量值,则 ID 将在数据中出现四次。这就是为什么我试图计算 ID 的数量,
table(data$id) == 4
尽管它向我显示了数据中出现的每个 ID 的数量,但我无法选择相应的行。
all.data <- subset(data, subset=table(data$id) == 4)
因为原始数据的长度不同,是长格式。“逻辑索引的长度必须是 1 或 2637,而不是 828” 我需要一个长格式数据来进一步分析,所以我不想改变它。