在超过特定数量的列中重复查找多个列的重复项

时间:2017-02-18 15:09:05

标签: r duplicates

我有一个.CSV文件,其中包含多个列和超过一百行,并且不同列中包含一些共享元素(重复项)。 任何人都可以建议我在R中找到一个代码,它可以找到重复超过一定数量的列的共享元素吗?

例如,我想找到上表中超过3列重复的元素,我希望它返回c3,a1和f1。

2 个答案:

答案 0 :(得分:0)

我们可以通过获取unlist之后的元素频率,列总和,sort并获得最高频率的names来实现此目的

names(tail(sort(colSums(table(c(col(d1)), unlist(d1)))),3))
#[1] "a1" "c3" "f1"

数据

d1 <- structure(list(col1 = c("a1", "b2", "f1", "d1"), col2 = c("c3", 
"a1", "g1", "f1"), col3 = c("d3", "c3", "h1", "f1"), col4 = c("c3", 
"a1", "n1", "f1")), .Names = c("col1", "col2", "col3", "col4"
 ), row.names = c(NA, -4L), class = "data.frame")

答案 1 :(得分:0)

通过对akrun代码的细微更改,我想我发现这就是我想要的:

names(table(unlist(d1)))[table(unlist(d1))>=3]