【发布时间】:2018-02-09 17:14:33
【问题描述】:
这与中提出的问题直接相关 Extract all rows containing first value for each unique value of another column
但我不想返回检测到 ID 的第一年,而是只返回第二年的所有行。
改编自上述主题中的答案
test
ID yr
1 54V 1
2 54V 1
3 54V 1
4 54V 2
5 54V 2
6 56V 2
7 56V 2
8 56V 3
9 59V 1
10 59V 2
11 59V 3
到
test2 <- test[with(test, as.logical(ave(yr, ID, FUN = function(x) x==x[2L]))),]
or
test2 <- setDT(test)[, .SD[yr==yr[2L]], ID]
产生奇怪的结果。
ID yr
1 54V 1
2 54V 1
3 54V 1
5 56V 2
6 56V 2
9 59V 2
我想要的结果是
ID yr
4 54V 2
5 54V 2
8 56V 3
10 59V 2
我做错了什么?
【问题讨论】: