[R] Weighted mad

Bond, Stephen Stephen.Bond at cibc.com
Tue Feb 7 15:54:45 CET 2012

Greetings UseRs,

Pls advise if there is a way to write a func that can be supplied to aggregate to compute weighted MeanAbsolute Dev (MAD). I am having trouble passing the correct weights from each group level and cannot see the code behind aggregate. But maybe 'aggregate' is not the best way to do that.

> m1 <- aggregate(pool[,c("SMM")],by=list(time=pool$ym),weighted.mean,w=pool$wght)
Error in weighted.mean.default(X[[1L]], ...) : 
  'x' and 'w' must have the same length

Apparently the grouping does not work on the additional argument. I am using weighted mean here just to be explicit and avoid supplying a custom function gor weighted MAD, which is not difficult to write by itself. It's making it work with aggreagte that is the problem. 

> aggregate
function (x, ...) 
<environment: namespace:stats>

Does not show anything...

Stephen B

More information about the R-help mailing list