r - 是否有任何命令可以保留具有特定格式时间字符串的子集行?

标签 r dplyr

有这样的数据框:

data.frame(id = c(1,2,3), date1 = c("2014-Dec 2018","2009-2010","Jan 2009-Aug 2010"), date2 = c("Feb 2016-Dec 2018","2014-Dec 2018","Oct 2013-Dec 2018"))

如何保留包含在任何列中的行没有月份,月份有 3 个字母。

示例输出:

data.frame(id = c(1,2), date1 = c("2014-Dec 2018","2009-2010"), date2 = c("Feb 2016-Dec 2018","2014-Dec 2018"))

最佳答案

这是一种方法:

library(dplyr)

df %>%
  filter(!if_all(!id, ~ grepl('^[A-Z][a-z]{2}\\s+', .x)))

  id             date1             date2
1  1     2014-Dec 2018 Feb 2016-Dec 2018
2  2 Jan 2009-Aug 2010     2014-Dec 2018

关于r - 是否有任何命令可以保留具有特定格式时间字符串的子集行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74164279/

相关文章:

r - 一种快速计算点到 R 中 y=x 的正交距离的方法

r - 获得 Y 中 a 在 X 中的元素在 R 中的位置

runif() 不统一

r - 箱线图的颜色框因因子水平而异

r - 如何获取2所采取的数据帧的列的所有组合?

r - 如何将列表值列拆分为多列?

r - 如何使用 dplyr 在行组之间进行划分

使用 R 和 dplyr 按列名替换许多列的值

r - 使用 dplyr 汇总并统计分组 df 中唯一值的数量

r - 错误: incompatible size when mutating in dplyr