This question chiede informazioni sull'aggregazione per periodo di tempo in R, che i panda chiamano ricampionamento. La risposta più utile utilizza il pacchetto XTS per raggruppare per un determinato periodo di tempo, applicando alcune funzioni come sum() o mean().Aggregazione per periodo di tempo in lubridato
Uno dei commenti suggeriva che c'era qualcosa di simile in lubridato, ma non elaborato. Qualcuno può fornire un esempio idiomatico usando lubridate? Ho letto la vignetta lubridata un paio di volte e posso immaginare una combinazione di lubridate e plyr, tuttavia voglio assicurarmi che non ci sia un modo più semplice per cui mi manchi.
Per rendere l'esempio più reale, diciamo che voglio la somma giornaliera di biciclette che viaggiano in direzione nord da questo insieme di dati:
library(lubridate)
library(reshape2)
bikecounts <- read.csv(url("http://data.seattle.gov/api/views/65db-xm6k/rows.csv?accessType=DOWNLOAD"), header=TRUE, stringsAsFactors=FALSE)
names(bikecounts) <- c("Date", "Northbound", "Southbound")
dati assomiglia a questo:
> head(bikecounts)
Date Northbound Southbound
1 10/02/2012 12:00:00 AM 0 0
2 10/02/2012 01:00:00 AM 0 0
3 10/02/2012 02:00:00 AM 0 0
4 10/02/2012 03:00:00 AM 0 0
5 10/02/2012 04:00:00 AM 0 0
6 10/02/2012 05:00:00 AM 0 0
Anche questo è utile. Felice di accettare questa risposta se il consenso è "non usare lubridate, ma utilizzare XTS". Detto questo, sento un sacco di "usare il lubridato", quindi mi piacerebbe sapere quale è il problema! – Peter
Sono tendenzialmente d'accordo con @GSee. Credo che il modo più semplice di "lubridare" per ottenere una variabile di raggruppamento "ddply" usando le funzioni "lubridate" sarebbe solo: "bikecounts $ date2 <- mdy_hms (x = bikecounts $ Date)"; 'bikecounts $ date3 <- round_date (x = bc $ date2, unit =" day ")'. – Henrik
Grande serie di risposte da parte di tutti. Puntate su questo per 1.) correggendo la mia premessa iniziale 2.) fornendo un esempio di base R 3.) Mostrando come sarebbe una versione lubridata e 4.) spiegando i vantaggi di xts. – Peter