按条件删除行[重复]
Posted
技术标签:
【中文标题】按条件删除行[重复]【英文标题】:Deleting Rows by condition [duplicate] 【发布时间】:2018-03-05 02:39:40 【问题描述】:下面是描述我的数据框的图像,我希望有条件地删除所有写有“范围”的城市名称,如 sn-p 所示。我尝试了各种方法,但到目前为止还没有成功。
【问题讨论】:
一些生成数据的代码比截图有用得多,它会帮助其他人帮助你。请参阅reprex.tidyverse.org 了解如何制作代表。 【参考方案1】:有两件事:检测字符向量中的模式,可以使用stringr::str_detect()
并提取行的子集,这就是dplyr::filter()
的目的。
library(dplyr)
library(stringr)
df <- df %>%
filter( ! str_detect(City, "Range") )
【讨论】:
【参考方案2】:使用带有反转选项的grep
来选择所有没有Range
的行。
yourDataFrame <- yourDataFrame[grep("Range", yourDataFrame$City, invert = TRUE), ]
【讨论】:
如果grep
没有返回匹配项(integer(0)
),您将遇到麻烦。 grepl
更安全。
非常感谢您的解决方案,您的解决方案解决了我的问题 :)以上是关于按条件删除行[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何根据python中的多个条件对excel文件进行重复数据删除?