Ho un dataframe che è una cronologia di esecuzioni. Alcune delle variabili includono una data (in POSIXct) e un valore per quella esecuzione (here = size). Voglio produrre vari grafici che mostrano una linea basata sul totale della colonna delle dimensioni per un particolare intervallo di date. Idealmente mi piacerebbe utilizzare lo stesso set di dati e cambiare da totali a settimana, 2 settimane, trimestre trimestre.È possibile "bin" i valori per data per ottenere un totale per 2 settimane in ggplot2 e R?
Ecco un set di dati di esempio;
require(ggplot2)
set.seed(666)
seq(Sys.time()-(365*24*60*60), Sys.time(), by="day")
foo<-data.frame(Date=sample(seq(today-(365*24*60*60), today, by="day"),50, replace=FALSE),
value=rnorm(50, mean=100, sd=25),
type=sample(c("Red", "Blue", "Green"), 50, replace=TRUE))
Posso creare questo grafico che mostra valori individuali;
ggplot(data=foo, aes(x=Date, y=value, colour=type))+stat_summary(fun.y=sum, geom="line")
Oppure posso farlo per mostrare una somma al mese;
ggplot(data=foo, aes(x=format(Date, "%m %y"), y=value, colour=type))+stat_summary(fun.y=sum, geom="line", aes(group=type))
Tuttavia diventa più complicato per fare le somme per trimestre/2 settimane ecc Idealmente mi piacerebbe qualcosa di simile al stat_bin e stat_summary combinato così ho potuto specificare un binwidth (o hanno ggplot fare una migliore ipotesi basata su la gamma)
Mi manca qualcosa di ovvio, o è semplicemente impossibile?
Non avevo visto il pacchetto lubridate, quindi è grandioso, taglia un sacco di codice dal mio tentativo di fare settimane/trimestri manualmente usando il taglio. Grazie ! – PaulHurleyuk