2015-12-02 35 views
1
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。在真实数据集中会有数百个列。在比较R中的很多向量后返回名称

我发现这段代码半有用的(假设这就是所谓的“逸”的数据帧):

all.equal(dat[5,],dat[6,]) 

但是,只返回列是不匹配的行(和它只做它2行)。

回答

1
rownames(dat)[apply(dat, 1, function(x) length(unique(na.omit(x)))) == 1] 
[1] "R2" "R3" "R4" "R5" 
+0

非常聪明。感谢帮助.... –