titles style plots mtext change r time timestamp

style - text in r



Tratando con marcas de tiempo en R (1)

Tengo múltiples listas de mediciones. En cada lista, tiene el timestramp formateado como una cadena ("2009-12-24 21: 00: 07.0") y sé que cada medición en la lista está separada por 5 segundos. Quiero combinar todos los datos en un gran marco de datos en R. Luego, deseo poder acceder fácilmente a la diferencia de tiempo de dos mediciones, así que probablemente debería convertir los datos en algo diferente a los caracteres.

¿Qué formato debo usar para almacenar los horarios? ¿Hay algún formato de tiempo en algún paquete que deba usar?


Desea que el tipo POSIXt (estándar) de la base R se pueda tener en ''forma compacta'' como POSIXct (que es esencialmente un doble que representa segundos fraccionarios desde la época) o como forma larga en POSIXlt (que contiene subelementos). Lo bueno es que la aritmética, etc. se define en esto - ver help(DateTimeClasses)

Ejemplo rápido:

R> now <- Sys.time() R> now [1] "2009-12-25 18:39:11 CST" R> as.numeric(now) [1] 1.262e+09 R> now + 10 # adds 10 seconds [1] "2009-12-25 18:39:21 CST" R> as.POSIXlt(now) [1] "2009-12-25 18:39:11 CST" R> str(as.POSIXlt(now)) POSIXlt[1:9], format: "2009-12-25 18:39:11" R> unclass(as.POSIXlt(now)) $sec [1] 11.79 $min [1] 39 $hour [1] 18 $mday [1] 25 $mon [1] 11 $year [1] 109 $wday [1] 5 $yday [1] 358 $isdst [1] 0 attr(,"tzone") [1] "America/Chicago" "CST" "CDT" R>

En cuanto a leerlos, ver help(strptime)

En cuanto a la diferencia, también es fácil:

R> Jan1 <- strptime("2009-01-01 00:00:00", "%Y-%m-%d %H:%M:%S") R> difftime(now, Jan1, unit="week") Time difference of 51.25 weeks R>

Por último, el paquete zoo es un contenedor extremadamente versátil y bien documentado para matrices con índices de fecha / hora asociados.