r - 仅当另一列中的相应值在 r 中也重复时,才提取一列中具有重复值的行

标签 r select rows

仅当行在第一列和第二列(x1 和 x2)中有重复值时,我才尝试提取行。换句话说,仅当第二列 (x2) 中的相应行全部重复时,才提取第一列 (x1) 中的重复行。

dt

<表类=“s-表”> <标题> x1 x2 x3 <正文> 1 一个 2.1 1 一个 3.4 1 b 4 2 c 5.5 2 c 4.1 2 d 5 3 e 2.4 3 e 7 4 f 1.5 4 f 4.4 4 f 2.1 5 克 7.8

我尝试使用:

dupe = dt[,c('x1','x2')] 
dt[duplicated(dupe) | duplicated(dupe, fromLast=TRUE),]

但是结果和我想要的不一样。我想要的数据库应该排除 X1=1,因为对应的 x2 a=a≠b,这同样适用于 x1=2(对应的 x2 并非全部重复 c=c≠d)。

<表类=“s-表”> <标题> x1 x2 x3 <正文> 1 一个 2.1 1 一个 3.4 2 c 5.5 2 c 4.1 3 e 2.4 3 e 7 4 f 1.5 4 f 4.4 4 f 2.2

我所需的数据库应包含以下内容:

<表类=“s-表”> <标题> x1 x2 x3 <正文> 3 e 2.4 3 e 7 4 f 1.5 4 f 4.4 4 f 2.2

请问有什么解决办法吗?

最佳答案

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/

相关文章:

sql - 选择以数字开头的值

python - Pandas 将值与具有过滤条件的前一行进行比较

r - 从向量列表创建递归列表

r - 当数据中没有缺失值时通过强制引入 NAs - R

r - 为什么在 R 中有从 ksmooth 生成的 NA?

mysql - 在 MySQL 表中旋转

SQL:如何通过某些列的值将表中的 'split' 行?

cakephp - 如何计算cakephp中的重复值?

MySQL - 行大小如何超过 65535

r - CorrPlot 无法在 R 中生成热图