El otro día, bajo el encabezamiento Unexpected behaviour of min, tapply and POSIXct/POSIXlt classes?, mandé a la lista de desarrolladores de R el siguiente pedazo de código:
before <- Sys.time() Sys.sleep( 1 ) now1 <- now2 <- Sys.time() my.times <- c( before, now1, now2 class( my.times ) ## [1] "POSIXct" "POSIXt min( my.times ) ## [1] "2010-10-28 18:52:17 CEST" ### So far, so good... but: my.period <- c( "a", "b", "b" ) tapply( my.times, my.period, min ) ## a b ## 1288284737 1288284780 ## Where did my POSIXct class go? my.times.lt <- as.POSIXlt( my.times min( my.times.lt ) ## [1] "2010-10-28 18:52:17 CEST"; good tapply( my.times.lt, my.period, min ) # $a # [1] 17.449 # # $b # [1] 52 # # Mensajes de aviso perdidos # In ansmat[index] <- ans : # número de items para sustituir no es un múltiplo de la # longitud del reemplazo # # ¿? :( Invito a mis lectores a lo siguiente:
...