Pascal A. Niklaus wrote:
Hi all,

I ran into a problem in some of my code that could be traced back to 'mean' sometimes returning NA and sometimes NaN, depending on the value of na.rm:

mean(c())
[1] NA

mean(c(NA),na.rm=T)
[1] NaN

However, I don't understand the reasoning behind this and would appreciate and explanation. I understand that the mean of an empty vector is not definied,

Not so, it is well-defined as 0/0 = NaN.

but I don't understand why it matters whether the vector was empty from the beginning

You didn't try that case:  mean(numeric(0)) is also NaN.  The issue is that

> typeof(c())
[1] "NULL"

is not numeric (not evan a vector), and so mean() of it is undefined.

> or only after removing the NAs.

Speculation (and wrong).


Pascal Niklaus

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


--
Brian D. Ripley,                  rip...@stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to