【问题标题】:Filtering large set of date/time data down to 15 minute increments in R在 R 中将大量日期/时间数据过滤到 15 分钟增量
【发布时间】: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”。

【问题讨论】:

    标签: r time filter dplyr


    【解决方案1】:

    我们需要在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 的数据集示例

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-07-26
      • 1970-01-01
      • 2021-01-31
      • 1970-01-01
      • 2020-07-21
      • 2013-10-17
      • 2021-12-12
      相关资源
      最近更新 更多