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.