创建小时间隔而不考虑R中的日月年

时间:2015-01-30 09:19:38

标签: r time intervals

我有一个日期列表:

"2014-01-20 18:47:09 GMT"
"2014-01-20 18:46:59 GMT"
"2014-01-20 18:46:59 GMT" 
"2014-01-20 18:46:59 GMT" 
"2014-01-20 18:46:41 GMT"

我使用此代码以四小时为间隔分割日期

data.frame(table(cut(datenormord, breaks = "4 hour")))

结果如下:

2013-07-22 06:00:00  144
2013-07-22 11:00:00  268
2013-07-22 16:00:00  331
2013-07-22 21:00:00  332

我想要的是在每个4小时的间隔内查看有多少观察结果,但没有考虑几个月和几年的天数。例如,我希望通过添加我的数据集中包含的每年每日的观察结果,观察从00:00到04:00有多少观察结果

例如我想要这样的东西:

01:00:00 1230
06:00:00 2430
11:00:00 3230

1 个答案:

答案 0 :(得分:0)

您可以尝试使用strftime删除日期中的日期,然后将其重新格式化为日期,这只会将当前日期,年份和月份添加到所有数据点。你可以像你发布的那样打破和计算。

datenormord<-c("2014-01-20 01:47:09 GMT", "2014-01-20 07:46:59 GMT","2014-01-20 13:46:59 GMT" ,"2014-01-20 18:46:59 GMT" ,"2014-01-20 18:46:41 GMT")
datenormord<-strftime(as.POSIXlt(datenormord), format="%H:%M:%S")
datenormord<-as.POSIXlt(datenormord, format="%H:%M:%S")

result<-data.frame(table(cut(datenormord, breaks = "4 hour")))

您也可以删除最终数据框中的日期:

result$Var1<-with(result,format(strftime(Var1,format="%H:%M")))