找回密码
 立即注册
查看: 2887|回复: 1

请教一个绘制变量随时间分布的图的问题

[复制链接]
发表于 2013-7-25 22:27:47 | 显示全部楼层 |阅读模式
初学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()

有没有更简洁的方法?


回复

使用道具 举报

 楼主| 发表于 2013-7-25 22:33:15 | 显示全部楼层
抱歉,写错。
ggplot(events, aes(x=time)) + geom_line() 显示观测的数量随时间分布的情况,即y轴是bin内对应观测的数量

应为: ggplot(events, aes(x=time)) + geom_line(aes(y=..count..), stat="bin")
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|R语言中文网

GMT+8, 2024-11-25 07:44 , Processed in 0.027874 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表