[R] zero weights in weighted.mean

Duncan Murdoch murdoch@dunc@n @end|ng |rom gm@||@com
Wed Jul 14 13:16:16 CEST 2021

On 14/07/2021 6:00 a.m., Göran Broström wrote:
> I wonder about the last sentence in the Details section of the
> documentation of 'weighted.mean':
> "However, zero weights _are_ handled specially and the corresponding ‘x’
> values are omitted from the sum."
> The return value of weighted.mean.default is
> sum((x * w)[w != 0])/sum(w)
> and indeed, it looks as if zero weights are getting special treatment,
> but what is wrong with the alternative (equivalent?) expression
> sum(x * w) / sum(w)?
> Is it a good idea to remove zeros from a vector before applying 'sum' to
> it? I don't think so. Anyway, the sentence in the documentation seems to
> be uncalled for.

Inf*0 is not zero.  Setting weights to zero on infinite observations (or 
NA, or NaN) will give different results in your two expressions.

Duncan Murdoch

More information about the R-help mailing list