2012-01-25 14 views
4

私は名前の列を含む大きなデータフレームを持ち、データの性質から繰り返されます。私はまた、そのデータフレームから排除する必要があるそれらの名前のサブセットのベクトルを持っています。そこで、データフレーム内の名前が、ドロップする名前のリスト内の名前と一致する各インスタンスの行番号を識別したいとします。ここに私がしようとしているものの例があります...しかし、私はコードを動作させることができません。ありがとう!R - いくつかの条件の1つを満たすベクトルの項目を削除する方法

a=c("tom", "bill", "sue", "jim", "tom", "amy") 
b=c(12,15,7,22,45,5) 

ab=data.frame(a,b) 

ab 

drop=which(ab$a==c("tom", "sue")) #only identifies those matching "tom" 

drop 

ab2=ab[-drop,] 

ab2 

答えて

9

あなたはしかし、より簡潔%in%

drop=which(ab$a %in% c("tom", "sue")) 

を探しています:

ab[!ab$a %in% c('tom', 'sue'),] 
+0

ありがとうございます!素晴らしい仕事をした。 – msis

1

あなたは、パッケージsqldfを見ている必要があります。 RデータフレームでSQL選択を実行することができます。

+0

チップをありがとう。私は見てみましょう。 – msis

関連する問題