[R] Strange Result using weightedMedian

Frank E Harrell Jr f.harrell at vanderbilt.edu
Tue Sep 20 20:40:44 CEST 2005


Oliver Duerr wrote:
> Dear all,
> I found a strange result using R's weightedMedian function.
> Consider the following:
> 
> 
>>x <- c (0.2, 0.3, 0.5)
>>w <- c (1,1,2)
>>weightedMedian(x,w)
>>0.3666
> 
> 
> In cases like above, when the weights are integers, one could argue that  
> the weighted
> median should be the same as the standard median with the elements  
> repeated according to their weights. This is trivially true for the mean.
> In the example above, we simply double the occurrence of the 0.5 entry
> 
> 
>>x1 <- c(0.2, 0.3, 0.5, 0.5)
>>median(x1)  0.4
> 
> 
> Does anyone know the answer to that inconsistency?
> It must have to do with the interpolated version.
> If you switch of the interpolation you get:
> 
>>weightedMedian(x,w,interpolate=FALSE)
>>0.4
> 
> 
> However, I prefer the interpolated version since it is continuous with  
> respect to the weights. Is there a interpolated version of the  
> weightedMedian which does not show this inconsistency?
> 
> 
> All the best,
>   Oliver

By the way:

 > library(Hmisc)
 > wtd.quantile(x,w)
    0%   25%   50%   75%  100%
0.200 0.275 0.400 0.500 0.500

Also see the type argument to wtd.quantile

-- 
Frank E Harrell Jr   Professor and Chair           School of Medicine
                      Department of Biostatistics   Vanderbilt University




More information about the R-help mailing list