【问题标题】:dplyr filter for time (but only minutes and seconds)dplyr 过滤时间(但只有分钟和秒)
【发布时间】:2016-05-18 12:52:57
【问题描述】:

我有以下来自 Facebook 的数据

ID               Message          Created_Time
12223            Hello World      2014-10-03T13:16:32+0000
24421            Hello            2014-10-03T13:00:00+0000
34551            Sweet            2014-11-03T13:16:34+0000
12333            Cool             2014-02-26T20:00:00+0000
12231            Really Cool!     2013-03-26T19:00:00+0000

我现在的问题是如何过滤掉时间戳为 00:00+0000 的帖子?

我想要两个数据框。一个与邮票中带有 00:00+0000 的帖子和一个与所有其他帖子。

我尝试用 grepl 来做,但是没有用。非常感谢任何帮助。

提前致谢。

【问题讨论】:

  • 你是什么意思grepl 没有工作?我试过df %>% filter(grepl('00:00\\+0000', Created_Time)),它似乎工作正常。
  • 尝试了与@Gopala 相同的方法,效果很好;请在您的data.frame 上分享dput 的结果

标签: r time filter dplyr


【解决方案1】:

lubridate 库和dplyr 将使这更容易。

library(lubridate)
library(dplyr)

## call your original data frame df and the time column MyTime
df$MyTime<-ymd_hms(df$MyTime)
df2<-filter(df, minute(MyTime)!=0 | sec(MyTime)!=0 )
df3<-fitler(df, minute(MyTime)==0 & sec(MyTime)==0)

编辑:添加到minute 部分,因为我最初错过了该部分。

【讨论】:

    猜你喜欢
    • 2021-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多