仅当行在第一列和第二列(x1 和 x2)中有重复值时,我才尝试提取行。换句话说,仅当第二列 (x2) 中的相应行全部重复时,才提取第一列 (x1) 中的重复行。
dt
我尝试使用:
dupe = dt[,c('x1','x2')]
dt[duplicated(dupe) | duplicated(dupe, fromLast=TRUE),]
但是结果和我想要的不一样。我想要的数据库应该排除 X1=1,因为对应的 x2 a=a≠b,这同样适用于 x1=2(对应的 x2 并非全部重复 c=c≠d)。
我所需的数据库应包含以下内容:
请问有什么解决办法吗?
最佳答案
df[duplicated(df[-3])|duplicated(df[-3], fromLast = TRUE), ]
x1 x2 x3
1 1 a 2.1
2 1 a 3.4
4 2 c 5.5
5 2 c 4.1
7 3 e 2.4
8 3 e 7.0
9 4 f 1.5
10 4 f 4.4
11 4 f 2.1
关于r - 仅当另一列中的相应值在 r 中也重复时,才提取一列中具有重复值的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70921415/