Re: [R] differing behavior of mean(), median() and sd() with na.rm

2018-08-23 Thread Rolf Turner
On 08/23/2018 06:15 PM, Ivan Calandra wrote: Thanks all for the enlightenment. So, it does make sense that mean() produces NaN and median()/sd() NA, from a calculation point of view at least. But I still think it also makes sense that the mean of NA is NA as well, be it only for

Re: [R] differing behavior of mean(), median() and sd() with na.rm

2018-08-23 Thread Ivan Calandra
Thanks all for the enlightenment. So, it does make sense that mean() produces NaN and median()/sd() NA, from a calculation point of view at least. But I still think it also makes sense that the mean of NA is NA as well, be it only for consistency with other functions. That's just my opinion

Re: [R] differing behavior of mean(), median() and sd() with na.rm

2018-08-22 Thread Ted Harding
I think that one can usefully look at this question from the point of view of what "NaN" and "NA" are abbreviations for (at any rate, according to the understanding I have adopted since many years -- maybe over-simplified). NaN: Mot a Number NA: Not Available So NA is typically used for missing

Re: [R] differing behavior of mean(), median() and sd() with na.rm

2018-08-22 Thread Marc Schwartz via R-help
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 wrote: > > ... And

Re: [R] differing behavior of mean(), median() and sd() with na.rm

2018-08-22 Thread Bert Gunter
... 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

Re: [R] differing behavior of mean(), median() and sd() with na.rm

2018-08-22 Thread Bert Gunter
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

Re: [R] differing behavior of mean(), median() and sd() with na.rm

2018-08-22 Thread Duncan Murdoch
On 22/08/2018 10:33 AM, Ivan Calandra 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. The mean can be defined as

[R] differing behavior of mean(), median() and sd() with na.rm

2018-08-22 Thread Ivan Calandra
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]