[R] Mean of difftime vectors : "code infelicity" or intended behaviour ?

Emmanuel Charpentier charpent at bacbuc.dyndns.org
Tue Mar 17 07:53:20 CET 2009

Dear list,

"+" (and "-") being defined for difftime class, I expected mean() to 
return something sensible. This is only half-true :

> mean(c(1:5, 5:1),na.rm=TRUE)
[1] 3
> mean(as.difftime(c(1:5, 5:1),unit="mins"),na.rm=TRUE)
Time difference of 3 mins

Fine so far. However :

> mean(c(1:5, NA,5:1),na.rm=TRUE)
[1] 3
> mean(as.difftime(c(1:5, NA,5:1),unit="mins"),na.rm=TRUE)
Time difference of NA mins

Ouch !

Curiously, var(), max() and min() behave as expected. What's so special 
with mean() ?

> RSiteSearch("mean difftime")
[ ... doesn't return anything relevant ]

NB : this isn't done for the hell of it. I intended to replace some 
missing dates, with something computed from other dates and mean time 

Any thoughs ?

					Emmanuel Charpentier

More information about the R-help mailing list