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

Raj*_*jiv 0 r subset dataframe

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

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
Run Code Online (Sandbox Code Playgroud)

我想从4到10列中排除那些具有相同值的行.我找到了比较不同行的解决方案,但在这里我说的是在1行内.所以输出是

B  M   J   2  1  2  2  2  2  2
J  K   Z   3  3  3  3  3  3  3.1
Run Code Online (Sandbox Code Playgroud)

因为第1行和最后一行在第4列到第10列中具有相同的值.我可以通过将每个值1比1来比较,但我的数据帧非常大(~100,000行).

csg*_*pie 6

怎么样的:

 ##Work out the rows to keep
 ##dd is your data frame
 rows = apply(dd[, 4:10], 1, function(i) length(unique(i)) > 1)
Run Code Online (Sandbox Code Playgroud)

那么子集正常

 dd[rows,]
Run Code Online (Sandbox Code Playgroud)

~100K行不是那么多.