which をネストされた grep ステートメントとして使用して実装しようとしています。たとえば、データ フレーム内のすべての肺データを探している場合は、 which ステートメントを使用するだけで簡単に実行できます。
site <- c("lung", "breast", "colon","lung", "brain")
vals <- c(1:5)
df <- data.frame(site,vals)
> df[which(df$site=="lung"),]
site vals
1 lung 1
4 lung 4
しかし、 "lung" のネストされた grep ステートメントで同じ結果を得たい場合、2 番目の結果が得られません。何か案は?
> df[which (grep("lung",df$site)==TRUE),]
site vals
1 lung 1
そして、これを少し拡張して列を割り当てたい場合、行 1 と 4 の一致の横に「Y」のようなものを配置する「lung_flag」と言うと、どのように行うのが最善でしょうか?