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”)),]