【发布时间】:2016-04-26 20:33:22
【问题描述】:
我想根据数据框中 2 列中的匹配项删除重复值,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]),]
但这不起作用。
这个问题专门针对数据框,对于那些有 data.table 的人,请参阅Filtering out duplicated/non-unique rows in data.table。
【问题讨论】:
-
在您提供的示例中,键似乎是
v1和v4(第一列实际上代表行名)。试试df[!duplicated(df[,c("v1","v4")]),]。
标签: r duplicates