2010-01-29 2 views
5

Если у меня есть данные, как этотggplot2: средний в зависимости от времени

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

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

+0

Большое спасибо за предоставление генератора данных! +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") 

alt text http://www.imagechicken.com/uploads/1264786975079660800.png


Базовый участок также может сделать это:

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

alt text http://www.imagechicken.com/uploads/1264786673030283100.png

Смежные вопросы