|
初学R, 请教各位DX一个问题:
有这样一个数据集events:
time counts
2013-07-11 01:54:49 2
2013-07-11 01:29:12 1
2013-07-11 01:43:31 1
2013-07-11 02:47:40 1
2013-07-11 02:30:06 1
2013-07-11 02:56:50 1
2013-07-11 02:10:45 1
2013-07-11 02:13:51 1
2013-07-11 02:15:13 5
2013-07-11 02:20:38 2
。。。
想画一个事件次数(counts)随时间分布的图。使用下面的语句:
ggplot(events, aes(x=time)) + geom_line() 显示观测的数量随时间分布的情况,即y轴是bin内对应观测的数量
我的问题是,如何使y轴显示的是bin内对应观测的count属性的和?
一种可能做法是:
t <- seq(as.POSIXct("2013-07-11 00:00:00"), by="60 sec", to=as.POSIXct("2013-07-11 23:59:00"))
bins <- cut(events$time, breaks=t)
counts <- as.data.frame(tapply(events$count, bins, sum))
result <- cbind(t, counts)
colnames(result) <- c("t", "counts")
ggplot(result, aes(x=t, y=counts) + geom_line()
有没有更简洁的方法?
|
|