【发布时间】:2019-05-03 15:04:50
【问题描述】:
如果可能,我想选择每个组 (ID) 的 最后两行,这些行在我的结果变量(结果)上具有有效值(即非 NA)。
示例数据如下所示:
df <- read.table(text="
ID outcome
1 800033 3
2 800033 3
3 800033 NA
4 800033 2
5 800033 1
15 800076 2
16 800076 NA
17 800100 4
18 800100 4
19 800100 4
20 800100 3
30 800125 2
31 800125 1
32 800125 NA", header=TRUE)
如果参与者在我的结果变量上没有两个有效值(例如,ID == 800076),我仍然希望保留该组 (ID) 的最后两行。应删除所有其他行。
因此,我的最终数据集如下所示:
ID outcome
4 800033 2
5 800033 1
15 800076 2
16 800076 NA
19 800100 4
20 800100 3
30 800125 2
31 800125 1
非常感谢任何有关如何执行此操作的建议!
【问题讨论】:
-
只是一个快速的双倍。如果最后一行是 NA 结果,你要删除那些吗?如果是这样,16 是不正确的