首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在R中创建每小时间隔,而不考虑日月年

在R中创建每小时间隔,而不考虑日月年
EN

Stack Overflow用户
提问于 2015-01-30 09:19:37
回答 1查看 80关注 0票数 0

我有一份日期清单如下:

代码语言:javascript
复制
"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"

我使用这段代码将日期分成四个小时间隔。

代码语言:javascript
复制
data.frame(table(cut(datenormord, breaks = "4 hour")))

结果如下:

代码语言:javascript
复制
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有多少次观测。

例如,我想要这样的东西:

代码语言:javascript
复制
01:00:00 1230
06:00:00 2430
11:00:00 3230
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-30 09:45:30

您可以尝试使用strftime从日期中删除日期,然后将其重新格式化为日期,这将只将当前的日期、年份和月份添加到所有数据点。你可以像你贴的那样把它们弄坏并计数。

代码语言:javascript
复制
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")))

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

代码语言:javascript
复制
result$Var1<-with(result,format(strftime(Var1,format="%H:%M")))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28232651

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档