5

如果我有这样的数据

DF <- data.frame(
  date = seq(Sys.Date()-1000, len=1000, by="1 day")[sample(1000, 500)],
  price = runif(500)
)

如何使用ggplot2在时间函数中绘制例如价格平均值,例如以月为单位?

4

1 回答 1

10

您需要使用 将日期转换为月份cut(,"months"),然后mean使用 ggplot 应用于每个月stat_summary。下面是如何在 中执行此操作qplot,它是ggplot.

qplot(as.Date(cut(date,"months")), 
  price, data=DF, stat="summary", fun.y="mean", xlab="date")

替代文字 http://www.imagechicken.com/uploads/1264786975079660800.png


基础情节也可以做到:

plot(aggregate(DF$price, list(as.Date(cut(DF$date, "month"))), mean))

替代文字 http://www.imagechicken.com/uploads/1264786673030283100.png

于 2010-01-29T13:10:45.373 回答