【发布时间】:2021-06-30 01:57:38
【问题描述】:
我想使用Category 列在我的数据中删除重复的IDs。我的数据子集如下:
df <- data.frame(ID=c(1,2,3,4,1,4,2),
category=c("a","b","c","d","b","a","a"))
df
ID category
1 1 a
2 2 b
3 3 c
4 4 d
5 1 b
6 4 a
7 2 a
如果Category b中存在重复的ID,我需要保留它并从其他类别中删除相应的ID。而且,如果重复的IDs 是除Category b 之外的其他类别,我没有优先权。所以,我最喜欢的结果是:
ID category
1 2 b
2 3 c
3 4 d
4 1 b
我已经阅读了这篇文章:R: Remove duplicates from a dataframe based on categories in a column 但找不到我的答案
【问题讨论】:
-
@Cihan,你有什么想法吗?
-
@akrun,谢谢!是的,当两个类别中的一个是 b 的 ID 重复时,类别 b 是有意义的。否则,没有删除重复 ID 的偏好
-
@akrun,谢谢!我正在运行您的解决方案。它在样本数据上工作,但在真实数据上,它只返回与类别 b 对应的行,而所有其他行都被删除。
-
我明白了。请检查我的更新。您不需要任何过滤
-
@akrun,谢谢,它正在工作
标签: r dplyr duplicates