【发布时间】:2014-09-22 09:31:06
【问题描述】:
我有一个较大的数据框(约 50K 行和 50 到 75 列),其中有少量行在 75 列中的 7 列中重复。虽然使用duplicated(...) 定位与上面重复的行很简单,但我希望能够提取重复的行和重复的行,或者如果(从之前的帖子中窃取)
a <- c(rep("A", 3), rep("B", 3), rep("C",2))
b <- c(1,1,2,4,1,1,2,2)
d <- c('x','y','x','z','y','y','z','x')
df <- data.frame(a,b,d)
df
a b d
1 A 1 x
2 A 1 y
3 A 2 x
4 B 4 z
5 B 1 y
6 B 1 y
7 C 2 z
8 C 2 x
duplicated(df[,c(1,2)]) 给了我第 2 行、第 6 行和第 8 行。第 2 行重复第 1 行,第 6 行重复第 5 行,第 8 行根据第 1 列和第 2 列重复第 7 行。所以我想查看第 1 行和第 2 行查看 d 列中可能存在的差异(如果有)。 8 行 3 列很容易,但我的问题要大得多。
总而言之,我正在寻找一种简单的方法来根据 50-75 列的子集查找行索引,例如第 1 行和第 2 行、第 5 行和第 6 行以及第 7 行和第 8 行,所以我可以直观地比较基于子集重复的行。
想法?
【问题讨论】: