Comportamiento inesperado... ¿sólo por mí?

El otro día, bajo el encabezamiento Unexpected behabiour of min, tapply and POSIXct/POSIXlt classes?, mandé a la lista de desarrolladores de R el siguiente pedazo de código:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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 para sustituir no es un múltiplo de la
# longitud del reemplazo
#
# ¿?  :(

Invito a mis lectores a lo siguiente:

  1. A ejecutarlo en su ordenador
  2. A leer esto
  3. A releer el título del mensaje que envié a la lista de desarrolladores (por referencia, Unexpected behabiour of min, tapply and POSIXct/POSIXlt classes?)
  4. A leer lo que me contestó un tal Joris
  5. A explicarme qué tiene que ver unas cosas con otras (porque yo no entiendo nada de nada de nada)