【发布时间】:2020-08-06 16:28:52
【问题描述】:
我正在尝试使用 dplyr::filter 函数,如下所示:
df <- dplyr::filter(df,grepl(c('%%:00:00','%%:15:00','%%:30:00','%%:45:00'),date_time))
但这不会产生任何结果。我的 date_time 字段格式为“YYYY-MM-DD HH:MM:SS”。
【问题讨论】:
我正在尝试使用 dplyr::filter 函数,如下所示:
df <- dplyr::filter(df,grepl(c('%%:00:00','%%:15:00','%%:30:00','%%:45:00'),date_time))
但这不会产生任何结果。我的 date_time 字段格式为“YYYY-MM-DD HH:MM:SS”。
【问题讨论】:
我们需要在grepl 中使用单个字符串pattern,这可以通过paste 和| (OR) 来完成。因此,它将检查任何一个向量元素是否匹配,并为每一行返回 TRUE/FALSE 以过滤这些行
pat <- paste(c('%%:00:00','%%:15:00','%%:30:00','%%:45:00'), collapse="|")
library(dplyr)
df %>%
filter(grepl(pat, date_time))
注意:%% 不清楚,因为没有给出 OP 的数据集示例
【讨论】: