2017-09-23 66 views
-2

下面是描述我的數據框的圖像,我希望有條件地刪除所有在其中包含「範圍」的城市名稱,如片段中所示。我嘗試了各種方法,但迄今尚未成功。 enter image description here按條件刪除行

+0

一些生成數據的代碼比截圖更有用,它可以幫助其他人幫助你。請參閱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"))