[R] aggregating variables (sum within groups)

Ivan Calandra ivan.calandra at univ-reims.fr
Thu Feb 26 13:16:44 CET 2015


Hi David,

You have your answer in the question:
aggregate()

aggregate(cbind(var1,var2)~group, data=testdata, FUN=sum)

Although I am not sure what you intended to do with "testdata$x<-" as 
the result cannot have the same number of rows than testdata


HTH,
Ivan

--
Ivan Calandra, ATER
University of Reims Champagne-Ardenne
GEGENAA - EA 3795
CREA - 2 esplanade Roland Garros
51100 Reims, France
+33(0)3 26 77 36 89
ivan.calandra at univ-reims.fr
https://www.researchgate.net/profile/Ivan_Calandra

Le 26/02/15 13:02, David Studer a écrit :
> Hello everybody!
>
> I have a (probabely very easy) problem. Even though I was looking in
> several r-books
> I could not find a suitable function to this problem, that's why I hope
> that someone here
> could help me:
>
> # Sample data:
> group<-c("A","A","A","B","B","C","C","C")
> var1<-c(1,0,0,1,1,0,NA,1)
> var2<-c(0,1,NA,0,1,1,0,0)
> testdata<-data.frame(group, var1, var2)
>
> Now, I'd like to generate two aggregated variables:
>
> testdata$x<- ???   should count the sum of var1 within each group (=4)
> testdata$y<- ???   should count the sum of var2 within each group (=3)
>
> Therefore I am looking for a function like ave() which does not calculate
> the mean value but a sum.
>
> Thank you for any hints!
>
> David
>
> 	[[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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