2011-08-16 6 views
5

sto usando il pacchetto di Chron e sto cercando di lavorare con centesimi di secondo, come questo:Lavorare con centesimi di secondo utilizzando il pacchetto Chron o modificando la precisione

library(chron) 
tms <- times(c("00:01:30.81", "00:01:33.38", "00:01:34.10", "00:01:37.09", 
       "00:01:37.29", "00:01:36.96", "00:01:37.65", "00:01:37.63", 
       "00:01:36.80", "00:01:40.06")) 
mean(tms) 
# [1] 00:01:36 
var(tms) 
# [1] 9.432812e-10 
sum(tms) 
# [1] 00:16:02 

Che i tempi non sono state prese con i centesimi di secondo, come quando faccio questo:

tms 
# [1] 00:01:31 00:01:33 00:01:34 00:01:37 00:01:37 00:01:37 00:01:38 00:01:38 
# [9] 00:01:37 00:01:40 

è solo con secondi e il gioco è fatto, è l'arrotondamento, voglio che i tempi esatti, o media ... come potrei risolvere Questo?

risposta

6

È lì ma mostra solo la parte dei secondi. Prova questo:

# x should be a times object 
show100s <- function(x) sprintf("%s.%02d", format(x), 
    round(100 * 3600 * 24 * (as.numeric(x) - as.numeric(trunc(x, "sec"))))) 

ed eseguirlo in questo modo:

library(chron) 
tt <- times("11:12:13.81") 
tt 
## [1] 11:12:14 
show100s(tt) 
## [1] "11:12:14.81" 
Problemi correlati