R 删除基于2列的重复值

R 删除基于2列的重复值,r,duplicates,R,Duplicates,我想根据数据帧中两列中的匹配删除重复值,v2&v4必须在要删除的行之间匹配 > df v1 v2 v3 v4 v5 1 7 1 A 100 98 2 7 2 A 100 97 3 8 1 C NA 80 4 8 1 C 78 75 5 8 1 C 78 62 6 9 3 C 75 75 由于 > df v1 v2 v3 v4 v5 1 7 1

我想根据数据帧中两列中的匹配删除重复值,
v2
&
v4
必须在要删除的行之间匹配

> df

   v1  v2  v3   v4  v5
1  7   1   A  100  98 
2  7   2   A  100  97
3  8   1   C   NA  80
4  8   1   C   78  75
5  8   1   C   78  62
6  9   3   C   75  75
由于

> df

   v1  v2  v3   v4  v5
1  7   1   A  100  98 
2  8   1   C   NA  80
3  8   1   C   78  75
4  9   3   C   75  75
我知道我想要的是:

df[!duplicated(df[v2] && df[v4]),] 
但这不起作用


此问题专门针对dataframes,对于那些拥有data.table的用户,请参见。

这将为您提供所需的结果:

df [!duplicated(df[c(1,4)]),]

在您提供的示例中,键似乎是
v1
v4
(第一列实际上表示行名称)。请尝试
df[!duplicated(df[,c(“v1”,“v4”)]),]
。如果您想使用它的列名(例如v1和v4)而不是列号1,4,该怎么办?@Bustergun您可以使用df[!duplicated(df[c(“v1”,“v4”)),]