我有一个包含十列的数据框:
A B C 1 1 1 1 1 1 1
B M J 2 1 2 2 2 2 2
J K Z 3 3 3 3 3 3 3.1
V N I 4 4 4 4 4 4 4
我想从4到10列中排除那些具有相同值的行。我找到了比较不同行的解决方案,但在这里我说的是在1行内。所以输出是
B M J 2 1 2 2 2 2 2
J K Z 3 3 3 3 3 3 3.1
因为第1行和最后一行在第4列到第10列中具有相同的值。我可以通过将每个值1比1来比较,但我的数据帧非常大(~100,000行)。
答案 0 :(得分:6)
如下:
##Work out the rows to keep
##dd is your data frame
rows = apply(dd[, 4:10], 1, function(i) length(unique(i)) > 1)
然后子集正常
dd[rows,]
~100K行不是那么多。