ggplot2: среднее значение в функции по времени - PullRequest
5 голосов
/ 29 января 2010

Если у меня есть такие данные

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

Как мне построить, например, среднее значение цены в зависимости от времени, например, в месяцах, используя ggplot2?

1 Ответ

10 голосов
/ 29 января 2010

Вам нужно преобразовать даты в месяцы, используя 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...