Hi, It might even be worthwhile to review this recent thread on R-Devel:
https://stat.ethz.ch/pipermail/r-devel/2018-July/076377.html which touches upon a subtly related topic vis-a-vis NaN handling. Regards, Marc Schwartz > On Aug 22, 2018, at 10:55 AM, Bert Gunter <bgunter.4...@gmail.com> wrote: > > ... And FWIW (not much, I agree), note that if z = numeric(0) and sum(z) = > 0, then mean(z) = NaN makes sense, as length(z) = 0, so dividing by 0 gives > NaN. So you can see the sorts of issues you may need to consider. > > Bert Gunter > > "The trouble with having an open mind is that people keep coming along and > sticking things into it." > -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip ) > > > On Wed, Aug 22, 2018 at 7:47 AM Bert Gunter <bgunter.4...@gmail.com> wrote: > >> Actually, the dissonance is a bit more basic. >> >> After xxx(...., na.rm=TRUE) with all NA's in ... you have numeric(0). So >> what you see is actually: >> >>> z <- numeric(0) >>> mean(z) >> [1] NaN >>> median(z) >> [1] NA >>> sd(z) >> [1] NA >>> sum(z) >> [1] 0 >> etc. >> >> I imagine that there may be more of these little inconsistencies due to >> the organic way R evolved over time. What the conventions should be can be >> purely a matter of personal opinion in the absence of accepted standards. >> But I would look to see what accepted standards were, if any, first. >> >> -- Bert >> >> >> On Wed, Aug 22, 2018 at 7:34 AM Ivan Calandra <calan...@rgzm.de> wrote: >> >>> Dear useRs, >>> >>> I have just noticed that when input is only NA with na.rm=TRUE, mean() >>> results in NaN, whereas median() and sd() produce NA. Shouldn't it all >>> be the same? I think NA makes more sense than NaN in that case. >>> >>> x <- c(NA, NA, NA) mean(x, na.rm=TRUE) [1] NaN median(x, na.rm=TRUE) [1] >>> NAsd(x, na.rm=TRUE) [1] NA >>> >>> Thanks for any feedback. >>> >>> Best, >>> Ivan >>> >>> -- >>> Dr. Ivan Calandra >>> TraCEr, laboratory for Traceology and Controlled Experiments >>> MONREPOS Archaeological Research Centre and >>> Museum for Human Behavioural Evolution >>> Schloss Monrepos >>> 56567 Neuwied, Germany >>> +49 (0) 2631 9772-243 >>> https://www.researchgate.net/profile/Ivan_Calandra >>> >>> ______________________________________________ >>> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see >>> 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. >>> >> > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > 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. ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.