Col1 Col2 Col3 Col4
R1 A B B A
R2 D D NA D
R3 E E E E
R4 K NA NA NA
R5 U U U NA
R6 Z Y Y Y
我想返回{R2,R3,R4,R5}的名称,因为所有列都在行内匹配或者是NA。在真实数据集中,将有数百列。
我发现这段代码半有用(假设这是一个名为'dat'的数据框):
all.equal(dat[5,],dat[6,])
但是只返回列不匹配的行(并且它只能用于2行)。
答案 0 :(得分:1)
rownames(dat)[apply(dat, 1, function(x) length(unique(na.omit(x)))) == 1]
[1] "R2" "R3" "R4" "R5"