[R] reshape with function(x,y)?

Dennis Murphy djmuser at gmail.com
Mon May 30 09:52:18 CEST 2011


If you want the weighted variance added to the data frame, don't melt
the data first.

library(Hmisc)
dat<-data.frame(ids=c("A","A","A","B","B","B"),rate=c(12,14,17,10,8,5),
                sample=c(100,80,60,50,40,45))
library(plyr)
library(Hmisc)
ddply(dat, 'ids', transform, wtdvar = wtd.var(rate, sample))
ddply(dat, 'ids', summarise, wtdvar = wtd.var(rate, sample))

Dennis

On Sun, May 29, 2011 at 1:25 PM, John K. Williams <sabesin2001 at gmail.com> wrote:
> Hi,
> I'm not sure if this is impossible or if I just don't know the syntax.
>
> example:
>
> library(reshape);
> library(corpcor);
>
> data<-data.frame(ids=c("A","A","A","B","B","B"),rate=c(12,14,17,10,8,5),sample=c(100,80,60,50,40,45));
> data_melted<-melt.data.frame(data,id.vars=c("ids"),measure.vars=c("rate","sample"));
>
> #the line below just gives me the var, can I do weighted var weighted by the
> sample size?
> data_reshape<-cast(data_melted,ids~variable,function(x,y) wt.var(x,y));
>
>        [[alternative HTML version deleted]]
>
> ______________________________________________
> 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.
>



More information about the R-help mailing list