2017-07-26 4 views
2

私はデータフレームdf_originalのサブセットであるdf_newというデータフレームを持っています。したがって、そのIDはシーケンシャルではなく部分的です。Rでは、forループを使用する以外に、別のリストにないすべての数値をリストから素早く選択できますか?

私は、このデータフレームdf_newのIDを抽出する場合、私はdf_newにない数字を抽出しますが、1からnrow元の連番ID(df_original)内にはどうすればよい

8 9 23 24 25 26 27 28 29 30 34 35 39 40 2997 55 56 58 617 640 95 96 

のような何かを得ます - したがってdf_newではなくdf_originalにある行

もちろん、数字がdf_new $ idにあるかどうかをチェックするforループを作成できますが、Rではよりエレガントになると思いますこれを行う方法。

+2

を削除しますか? –

答えて

2
#DATA 
ORIGINAL = c(1:10, 9:12) 
SUBSET = c(2:5, 8) 

Iは、サブセットに存在しない元のリストの要素を識別するために、値の一致(%in%)を使用します。

ORIGINAL[!ORIGINAL %in% SUBSET] 
#[1] 1 6 7 9 10 9 10 11 12 

またsetdiffを使用することができますが、 `setdiff`を探している場合がございます、それは重複

setdiff(x = ORIGINAL, y = SUBSET) 
#[1] 1 6 7 9 10 11 12 
関連する問題