[R] Calculate mean/var by ID

Adaikalavan Ramasamy a.ramasamy at imperial.ac.uk
Fri Sep 12 05:28:34 CEST 2008


A slight variation of what Jorge has proposed is:

    f <- function(x) c( mu=mean(x), var=var(x) )

    do.call( "rbind", tapply( df$value, df$ID, f ) )

             mu      var
   111 4.333333 4.333333
   138 6.000000 4.666667
   178 5.000000 8.000000

Regards, Adai



Jorge Ivan Velez wrote:
> Dear Julia,
> Try also
>
> x=read.table(textConnection("ID    value
> 111     5
> 111     6
> 111     2
> 178     7
> 178     3
> 138     3
> 138     8
> 138     7
> 138     6"),header=TRUE)
>  closeAllConnections()
> attach(x)
>
> do.call(rbind,tapply(value,ID, function(x){
> res=c(mean(x,na.rm=TRUE),var(x,na.rm=TRUE))
> names(res)=c('Mean','Variance')
> res
> }
> )
> )
>
> HTH,
>
> Jorge
>
>
>
>
> On Thu, Sep 11, 2008 at 1:45 PM, liujb <liujulia7 at yahoo.com> wrote:
>
>> Hello,
>>
>> I have a data set that looks like this.
>> ID    value
>> 111     5
>> 111     6
>> 111     2
>> 178     7
>> 178     3
>> 138     3
>> 138     8
>> 138     7
>> 138     6
>> .
>> .
>> .
>>
>> I'd like to calculate the mean and var for each object identified by the
>> ID.
>> I can in theory just loop through the whole thing..., but is there a easier
>> way/command which let me calculate the mean/var by ID?
>>
>> Thanks,
>> Julia
>> --
>> View this message in context:
>> http://www.nabble.com/Calculate-mean-var-by-ID-tp19440461p19440461.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.
>>
>
> 	[[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