【发布时间】:2017-01-01 19:24:56
【问题描述】:
我有以下形式的数据:
[1] "Mon Feb 01 09:11:55 +0000 2016" "Mon Feb 01 09:12:11 +0000 2016" ""
[4] "Mon Feb 01 09:14:25 +0000 2016" "" "Mon Feb 01 09:15:40 +0000 2016"
我想用 R 来绘制它。
我想绘制一个每小时的计数图,以便将上午 9 点到 10 点之间的所有计数都统计在一个桶中,依此类推。数据将超过几天,但日期只是小时不重要。我可能还想将小时更改为 30 分钟。 我已经尝试了各种方法,但我的深度有点超出我的理解范围,非常感谢您执行一些基本步骤以使其正常工作。
我试过了:
str <- strptime(dt, "%a %b %d %H:%M:%S %z %Y", tz = "GMT")
# head(str,3)
( dt.gmt <- as.POSIXct(str, tz = "GMT") )
format(dt.gmt, tz = "EST", usetz = TRUE)
hms <- format(dt.gmt , format = "%H:%M:%S")
hms<-as.numeric(hms)
head(hms,3)
hms <- table(cut(hms, breaks="hour"))
给出错误:
Error in breaks + 1 : non-numeric argument to binary operator
我也试过了:
aggdata <-aggregate(hms, by=(hms), FUN=mean, na.rm=TRUE)
给出:
Error in aggregate.data.frame(as.data.frame(x), ...) : 'by' must be a list
【问题讨论】:
-
hms不再是可以按时间规范切割的对象。如果您只关心每小时计数,为什么不只关心hr <- format(dt.gmt , format = "%H")和table(hr)? -
谢谢!看起来不错,是否可以在 20 分钟而不是几个小时内使用相同的东西?它有一种简单的绘制方法吗?
-
你能链接到数据文件吗?
-
对不起,我已经离开了。我的数据是公开的种族主义推文,我已尝试对其进行编辑,但如果仍有任何令人反感的材料,我深表歉意:data。
标签: r time-series xts zoo