quindi ho una serie di timestamp in questo modo:Come faccio a tracciare solo la porzione di tempo di un timestamp che include una data?
datetime<-c("2011-09-28 03:33:00", "2011-08-24 13:41:00", "2011-09-19 16:14:00", "2011-08-18 11:01:00", "2011-09-17 06:35:00", "2011-08-15 12:48:00")
Voglio fare un istogramma dei soli tempi. Quello che ho fatto è stato quello di dividere la colonna presso lo spazio per ottenere solo i tempi, poi convertire di nuovo ad un oggetto POSIXct in ordine per qplot per tracciare esso:
library(ggplot2, stringr)
qplot(as.POSIXct(strptime((str_split_fixed(as.character(time), " ", 2)[,2]), "%H:%M:%S")))
Tuttavia, l'uscita del as.POSIXct(strptime((str_split_fixed(as.character(datetime), " ", 2)[,2]), "%H:%M:%S"))
è
"2011-10-04 03:33:00 PDT" "2011-10-04 13:41:00 PDT" "2011-10-04 16:14:00 PDT" "2011-10-04 11:01:00 PDT" "2011-10-04 06:35:00 PDT" "2011-10-04 12:48:00 PDT"
qplot traccia quello che voglio, ma questo mi sembra un incantesimo sconcio. Sicuramente c'è un modo migliore per farlo? Potrei convertire in epoche storiche e tracciare la trama, ma stavo cercando di evitare di doverlo fare come un passo in più.
La domanda più ampia è "Come controllo l'output di strptime?"
Grazie, non ho usato trunc così tanto. C'è sempre qualcosa di nuovo da imparare! –
Sono confuso per qualcosa. Sto lavorando con una situazione simile anche se con poco più di 2 milioni di osservazioni. Quando uso ** format = "% S: 00" **, ottengo solo 00:00 per tutte le etichette dell'asse X.Ho provato a passare a **% H ** (S = secondi e H = ore per questa funzione), e non è giusto, neanche: l'asse X inizia alle 17:00, conta fino a 0:00 e poi torna a 18: 00 alla fine. (Le etichette sono equidistanti su tale intervallo di 25 ore.) –
Hmm, mi chiedo se questo ha qualcosa a che fare con che io sono in CDT, che è 5 ore dietro GMT, e il tempo POSIX inizia a contare da mezzanotte GMT, 1 gennaio , 1970? Quindi se aggiungo 5 * 60 * 60 a ciascun valore ... No, grattalo. Sono in CST adesso, che è GMT-6. –