我有一个 data.table 并想选择 data.table 的那些行,其中变量 x 的某些值相对于另一个变量 y 是唯一的
可以在单独的数据集中获得 x 的唯一值,按 y 分组,如下所示
dt[,unique(x),by=y]
但我想在原始数据集中选择这种情况下的行。我不想要一个新的 data.table 因为我还需要其他变量。
那么,我必须在我的代码中添加什么来获取符合dt
上述条件的行?
dt <- data.table(y=rep(letters[1:2],each=3),x=c(1,2,2,3,2,1),z=1:6)
y x z
1: a 1 1
2: a 2 2
3: a 2 3
4: b 3 4
5: b 2 5
6: b 1 6
我想要的是:
y x z
1: a 1 1
2: a 2 2
3: b 3 4
4: b 2 5
5: b 1 6