2010-01-29 7 views
5

Si tengo datos como estosggplot2: significar en la función a tiempo

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

¿Cómo parcela por ejemplo, la media del precio en función del tiempo, p. en meses, usando ggplot2?

+0

Muchas gracias por proporcionar un generador de datos! +1 –

Respuesta

10

Necesita convertir las fechas en meses usando cut(,"months"), luego aplique mean a cada mes usando ggplot stat_summary. A continuación, le indicamos cómo hacerlo en qplot, que es un envoltorio de conveniencia compacto para ggplot. parcela

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


base también puede hacerlo:

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

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

Cuestiones relacionadas