Desea que el (estándar) POSIXt
tipo de la base de R que se puede tener en 'forma compacta' como un POSIXct
(que es esencialmente un doble representa fracciones de segundo desde la época) o forma, siempre en POSIXlt
(que contiene sub -elementos). Lo interesante es que la aritmética, etc. se definen en este - 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 la lectura en ellos, ver help(strptime)
En cuanto a la diferencia, también muy 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 zoo package es un contenedor extremadamente versátil y bien documentado para la matriz con fecha/tim correspondiente índices e.
Gracias. Las personas que hicieron los nombres para las funciones R son crueles. Quiero decir, ¿cómo debes adivinar que POSIXlt tiene algo que ver con el tiempo? – Christian
Pero 'help.search (" date time ")' habría descubierto funciones vecinas. –
@DirkEddelbuettel sí, y eso es útil. De todos modos, eso no es excusa para mal nombre. Cuanto más legible sea el código sin necesidad de documentación, mejor. – nandinga