[R] weighted mean by week

Dimitri Liakhovitski dimitri.liakhovitski at gmail.com
Wed Jul 18 03:39:49 CEST 2012

David, many thanks.
Did something get ommitted from your line?:

ddply(x ,.(myweek), summarize, m1=weighted.mean(var1,myweight),

Because it just reproduces x - in a somewhat different order...

Thank you!

On Tue, Jul 17, 2012 at 9:22 PM, David Freedman <dxf1 at cdc.gov> wrote:
> If there are many variables, I'd then suggest the data.table package:
> library(data.table)
> dt=data.table(x)
> dt[,lapply(.SD, function(x)weighted.mean(x,myweight)), keyby=c('group',
> 'myweek')]
> The '.SD' is an abbreviation for all the variables in the data table
> (excluding the grouping variables).  There's an .SDcols= 'variables of
> interest' option if you want to limit the dozens of variables to only some
> of them.  Or, in the data.table(x) statement, you could limit the created
> data table to only the variables your interested in.
> As an added benefit, the data.table approach is amazingly fast (particularly
> when there are numerous grouping categories)
> --
> View this message in context: http://r.789695.n4.nabble.com/weighted-mean-by-week-tp4636814p4636825.html
> Sent from the R help mailing list archive at Nabble.com.
> ______________________________________________
> 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.

Dimitri Liakhovitski

More information about the R-help mailing list