2017-09-23 8 views
-2

以下は自分のデータフレームを説明するイメージです。スニペットに示されているように "Range"が記述されているすべての都市名を条件付きで削除したいと考えています。私は様々なアプローチを試みましたが、これまで成功していませんでした。 enter image description here条件で行を削除する

+0

データを生成するコードは、スクリーンショットよりもはるかに便利で、他の人に役立つでしょう。 reprexの作成方法については、http://reprex.tidyverse.orgを参照してください。 –

答えて

1

grepを反転オプション付きで使用すると、Rangeを除いたすべての行を選択できます。

yourDataFrame <- yourDataFrame[grep("Range", yourDataFrame$City, invert = TRUE), ] 
+0

'grep'がマッチしない場合(' integer(0) ')、問題が発生します。 'grepl'はより安全です。 –

+0

ありがとう、あなたのソリューションのために、あなたのソリューションは私の問題を解決:) –

2

は二つあります:あなたはstringr::str_detect()を使用して、行のサブセットを抽出することができ、文字ベクトルでパターンを検出し、これはdplyr::filter()目的です。

library(dplyr) 
library(stringr) 
df <- df %>% 
    filter(! str_detect(City, "Range")) 
関連する問題