2015-12-02 60 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

非常聰明。感謝幫助.... –