【发布时间】:2021-01-24 22:08:54
【问题描述】:
我有一个包含多个包含标识符的列的数据集,我需要根据标识符识别重复项。我创建了一个将所有标识符列粘贴在一起的新列,但我不确定如何实际检测重复项。
当前数据集如下所示:
id <- (1:10)
record <- c("A | B", "A", "--C--", "B", "CD", "D", "ABCD", "B | D | A", "C", "data:D")
df <- data.frame(id, record)
id record
1 A | B
2 A
3 --C--
4 B
5 CD
6 D
7 ABCD
8 B | D | A
9 C
10 data:D
我想根据 A、B、C 和 D 查找重复行。例如,它应该告诉我 5、6、7、8 和 10 有匹配项,因为它们都包含 D。
我更喜欢tidyverse 解决方案,并且一直在玩stringr 和dplyr,但没有运气。我不想搜索特定模式,而是查找包含彼此相同字符串的所有行。
【问题讨论】:
-
你能说得更具体些吗?为什么你似乎只在搜索子字符串时提到重复记录
grep('D', df$record) -
我将来自一堆来源的数据集放在一起,这些来源的标识符分布在不同的列中,大多数记录都有多个标识符。所以数据集太大太复杂,无法寻找像“D”这样的特定实例
标签: r duplicates