按条件删除行

时间:2017-09-23 18:30:39

标签: r dplyr

以下是描述我的数据框的图片,我希望有条件地删除所有具有" Range"的城市名称。如片段中所示,写在它们中。我尝试了各种方法但到目前为止还没有成功。 enter image description here

2 个答案:

答案 0 :(得分:2)

有两件事:检测字符向量中的模式,您可以使用stringr::str_detect()并提取行的子集,这是dplyr::filter()目的。

library(dplyr)
library(stringr)
df <- df %>%
  filter( ! str_detect(City, "Range") )

答案 1 :(得分:1)

使用带有反转选项的grep选择没有Range的所有行。

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