2016-10-05 1 views
1

行番号と列番号が異なる2つの行列があります。行の名前を比較して、表1にない行のみを抽出できますか? 2テーブルを比較し、テーブル2に一意の行のみを抽出します。

すなわち
a1 <- data.frame(a = 1:5, b=letters[1:5]) 
a2 <- data.frame(a = 1:3, b=letters[1:3], c=letters[4:6]) 
a3 <- as.matrix(a1) 
a4 <- as.matrix (a2) 
row.names(a3) <- c("chr1:981994", "chr1:1025751", "chr1:1026919", "chr1:1118414", "chr1:1119410") 
row.names(a4) <- c("chr1:1118414", "chr1:1119410", "chr1:1216877") 

それでは2を比較し、それがユニークな我々が行名の間で比較すること%in%を使用することができ、テーブル2

答えて

1

のよう と表2から最後の行を新しい行列を作成

a4[!row.names(a4) %in% row.names(a3), , drop=FALSE] 
#    a b c 
#chr1:1216877 "3" "c" "f" 
+0

ありがとうございました!私はこれを行うために約4時間試しています:) – Zoe

+0

@Zoe問題はありません。あなたを助けてうれしい。また、[this](http://stackoverflow.com/help/someone-answers) – akrun

+0

を読んでください。あなたは、、drop = FALSEの意味を説明できますか? – Zoe

関連する問題