Dear Stephen
The names of methods of aggregate can be viewed with the methods argument. Typing aggregate.data.frame shows you the method used for data frames.
methods(aggregate)
[1] aggregate.data.frame aggregate.default aggregate.formula*
[4] aggregate.ts
Non-visible functions are asterisked
However, you need the function by, which passes a data frame to the function.
pool <- data.frame(SMM = rnorm(10), ym = rep(1:2, each = 5), wght = 1)
pool
+ function(pool) { weighted.mean(x = pool$SMM, w = pool$wght) })
mad[1:2]
pool$ym
1 2
0.5072342 0.2824177
Regards,
Chris Campbell
MANGO SOLUTIONS
Data Analysis that Delivers
+44 1249 767700
-----Original Message-----
From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf Of Bond, Stephen
Sent: 07 February 2012 14:55
To: r-help at r-project.org
Subject: [R] Weighted mad
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.
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, ...)
UseMethod("aggregate")
<environment: namespace:stats>
Does not show anything...
Stephen B
______________________________________________
R-help at r-project.org 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.
Kind Regards
Chris Campbell
[Mango Solutions]
T:+44 (0)1249 767700
F: +44 (0)1249 767707
Mango Solutions Website<http://www.mango-solutions.com>
Unit 2 Greenways Business Park
Bellinger Close
Chippenham
Wilts
SN15 1BN
UK
________________________________
With effect from Friday 24th February 2012 Mango Business Solutions Ltd
main office will be moving to:
2 Methuen Park
Chippenham
Wilts
SN14 0GB
UK
Please note, there may be some disruption to services; including emails, from 1730 hrs on Thursday 23rd February.
For any urgent enquiries, please use the following mobile numbers: 07966062462, 07900580808, 07967808091
________________________________
LEGAL NOTICE
This message is intended for the use o...{{dropped:10}}