排除在不同列中具有相同值的行

时间:2012-09-18 12:17:54

标签: r dataframe subset

我有一个包含十列的数据框:

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行)。

1 个答案:

答案 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行不是那么多。