2017-09-23 69 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"))