Hi Henrique & other R-helpers, Thank you for helping me last week. I used Henrique's suggestion to develop some code (below) to combine two rows in my dataframe into a third row, and then delete the original two rows. It works well.
My solution is not very elegant however; if there's a function (or a better way) to accomplish this in 1-2 lines (rather than my 6) I'd appreciate knowing about it. Many thanks, Mark Na #make some data for this example data<-data.frame(c("1A","1B"),c("10","15")) names(data)<-c("id","value") data$value<-as.numeric(as.character(data$value)) #combine two lines into one by summing their values in the value column fixed<-data.frame() #create empty data frame to hold fixed rows fixed<-rbind(fixed, aggregate(data["value"],list(substr(data[,"id"],1,1)), sum)) #copy previous line as necessary for other fixes names(fixed)<-c("id","value") #fix column names #bind the fixed line to the main dataframe and delete the original lines data<-rbind(data,fixed) #add fixed lines to data data<-data[-which(c("1A","1B") %in% data$id),] #delete lines from data rownames(data) <- 1:nrow(data) #renumber rows On Thu, Jul 9, 2009 at 5:58 PM, Henrique Dallazuanna <www...@gmail.com>wrote: > Try this: > > aggregate(x["VALUE"], list(substr(x[,"ID"], 1, 1)), sum) > > On Thu, Jul 9, 2009 at 7:27 PM, Mark Na <mtb...@gmail.com> wrote: > >> Dear R-helpers, >> >> I have two rows in my dataframe: >> >> ID VALUE >> 1A 10 >> 1B 15 >> >> and I would like to combine these two rows into a single (new) row in my >> dataframe: >> >> ID VALUE >> 1 25 >> >> ...simply by specifying a new value for ID and summing the two VALUES. >> >> I have been trying to do this with with rbind, but it's not working. >> >> I'd appreciate any pointers. >> >> Thanks, Mark Na >> >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> 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. >> > > > > -- > Henrique Dallazuanna > Curitiba-Paraná-Brasil > 25° 25' 40" S 49° 16' 22" O > [[alternative HTML version deleted]]
______________________________________________ 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.