创建每小时间隔而不考虑 R 中的日-月-年
Create hourly intervals without regard to day-month-year in R
我有一个这样的日期列表:
"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
我想要的是查看在每个四个小时的间隔内有多少观测值,但不考虑天数、月份和年份。例如,我想通过添加我的数据集
中包含的每年每天的观察来查看从00:00到04:00有多少观察
例如我想要这样的东西:
01:00:00 1230
06:00:00 2430
11:00:00 3230
您可以尝试使用 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")))
我有一个这样的日期列表:
"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
我想要的是查看在每个四个小时的间隔内有多少观测值,但不考虑天数、月份和年份。例如,我想通过添加我的数据集
中包含的每年每天的观察来查看从00:00到04:00有多少观察例如我想要这样的东西:
01:00:00 1230
06:00:00 2430
11:00:00 3230
您可以尝试使用 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")))