Yan Wong wrote:
> Hi, just a quick question:
>
> Should weighted.mean be able to cope with the specific case where one  
> weight is Inf? I came across this when trying to implement a simple  
> weighted moving average algorithm for surface smoothing: these  
> algorithms often result in a single infinite weight when predicting  
> the surface value at known data points.
>
> e.g.
>
>  > weighted.mean(c(77,88,99), c(Inf, 1, 2)) #should this return 77?
> [1] NaN
>
>   
It makes sense in this case, but in the case where there is more than 
one infinite weight, the result has to be NaN. 

Right now the bit of weighted.mean that does the calculations is

 sum(x * w)/sum(w)

and this would be a lot more complicated if it were to handle this very 
special case.

On the other hand, if you know that in your situation there is at most 
one infinite weight, then you could use

if (any(inf <- is.infinite(w))) x[inf]
else weighted.mean(x, w)

in your own code.

Duncan Murdoch


> Cheers
>
> Yan
>
> p.s. a while ago I suggested using '??xxx' as a shortcut for  
> help.search("xxx"), much like '?xxx' is a shortcut for help("xxx"). I  
> was just wondering if anyone had any more thoughts on the matter?
Suggestions like this (and probably the one above) belong more in the 
R-devel list than here.  I think your ?? suggestion is reasonable; why 
don't you write up the necessary patch to implement it, and see if it's 
feasible?   Include that in your post to R-devel, and it will be easier 
for others to see the pitfalls (if there are any).

Duncan Murdoch

______________________________________________
R-help@stat.math.ethz.ch 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