Hi, Not sure why you mentioned "+" doesn't work. dat1<-read.table(text=" Plot Elevation Area SizeClass Stems 12 1200 132.4 Class3 0 12 1200 132.4 Class4 1 17 2320 209.1 Class3 3 17 2320 209.1 Class4 5 ",sep="",header=TRUE,stringsAsFactors=FALSE)
dat2<-aggregate(Stems~Plot+Elevation+Area, data=dat1,sum) dat3<-data.frame(dat2,SizeClass=rep("Class34",2)) dat3<-dat3[,c(1:3,5,4)] dat3 # Plot Elevation Area SizeClass Stems #1 12 1200 132.4 Class34 1 #2 17 2320 209.1 Class34 8 A.K. ----- Original Message ----- From: Christopher R. Dolanc <crdol...@ucdavis.edu> To: arun <smartpink...@yahoo.com> Cc: Sent: Tuesday, August 7, 2012 5:47 PM Subject: Re: [R] summing and combining rows Thanks for your response. The aggregate method mostly works for me, but I have numerous other columns that I'd like to keep in the result. So, if I have something like this: Plot Elevation Area SizeClass Stems 12 1200 132.4 Class3 0 12 1200 132.4 Class4 1 17 2320 209.1 Class3 3 17 2320 209.1 Class4 5 How can I make it look like this? Plot Elevation Area SizeClass Stems 12 1200 132.4 Class34 1 17 2320 209.1 Class34 8 I see something in ?aggregate about adding columns with a +, but this doesn't quite work for me. On 8/7/2012 2:32 PM, arun wrote: > Hi, > > Try this: > dat1<-read.table(text=" > Plot SizeClass Stems > 12 Class3 1 > 12 Class4 3 > 17 Class3 5 > 17 Class4 2 > ",sep="",header=TRUE, stringsAsFactors=FALSE) > > > > ddply(dat1,.(Plot), summarize, sum(Stems)) > > #or > > > dat2<-aggregate(Stems~Plot,data=dat1,sum) > dat3<-data.frame(dat2,SizeClass=rep("Class34",2)) > dat3 > # Plot Stems SizeClass > #1 12 4 Class34 > #2 17 7 Class34 > > > A.K. > > ----- Original Message ----- > From: Christopher R. Dolanc <crdol...@ucdavis.edu> > To: r-help@r-project.org > Cc: > Sent: Tuesday, August 7, 2012 1:47 PM > Subject: [R] summing and combining rows > > Hello, > > I have a data set that needs to be combined so that rows are summed by a > group based on a certain variable. I'm pretty sure rowsum() or rowsums() can > do this but it's difficult for me to figure out how it will work for my data > based on the examples I've read. > > My data are structured like this: > > Plot SizeClass Stems > 12 Class3 1 > 12 Class4 3 > 17 Class3 5 > 17 Class4 2 > > I simply want to sum the size classes by plot and create a new data frame > with a size class called "Class34" or with the SizeClass variable removed. I > actually do have other size classes that I want to leave alone, but combine 3 > and 4, so if I could figure out how to do this by creating a new class, that > would be preferable. > > I've also attached a more detailed sample of data. > > Thanks, > Chris Dolanc > > -- Christopher R. Dolanc > Post-doctoral Researcher > University of Montana and UC-Davis > > > ______________________________________________ > R-help@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. > > -- Christopher R. Dolanc Post-doctoral Researcher University of Montana and UC-Davis ______________________________________________ R-help@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.