2016-05-18 2 views
0

ich folgende Daten aus Facebook habendplyr Filter für die Zeit (aber nur ein paar Minuten und Sekunden)

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 

Meine Frage ist nun, wie die Beiträge herauszufiltern, die 00 haben: 00 + 0000 im Zeitstempel?

Ich möchte zwei Datenrahmen haben. Eins mit den Posts, die das 00: 00 + 0000 im Stempel und eins mit allen anderen haben.

Ich habe versucht, es mit Grepl zu tun, aber es hat nicht funktioniert. Jede Hilfe wird wirklich geschätzt.

Besten Dank im Voraus.

+3

Was meinst du 'grepl' hat nicht funktioniert? Ich versuchte 'df%>% filter (grepl ('00: 00 \\ + 0000 ', Created_Time))' und es scheint gut zu funktionieren. – Gopala

+3

versuchte das gleiche wie @ Gopala und es funktioniert gut; Bitte teilen Sie das Ergebnis von 'dput' auf Ihrem' data.frame' –

Antwort

4

Die lubridate-Bibliothek und dplyr machen dies einfacher.

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) 

Edit: hat in den minute Teile, wie ich zunächst, dass ein Teil verpasst.