Something like this could work for you (note that a few other packages would be faster, such as data.table), but plyr is intuitive.
require(plyr) # example data set dat <- data.frame(col1 = rep(c("a","b"), each=5), col2 = rep(c("prog1","prog2","prog3","prog4","prog5"), 2), col3 = rnorm(10), col4 = rnorm(10)) ddply(dat, .(col1), summarise, progs = paste(col2,collapse=","), sumcol3 = sum(col3), sumcol4 = sum(col4)) ______________________Scott Chamberlain Rice University, EEB Dept. On Thursday, June 16, 2011 at 6:55 PM, Will Parbury wrote: > > Hi R Help list > > I'm looking to visualise US foreign aid 1946-2009 and I have the dataset for > this. The trouble is it's a bit too complex and I need to simply it > > I want to merge all of the rows with the same country together and add up the > individual totals to make one total figure per country per year > > Below is an example of the kind of data. The real dataset has 2447 rows and > covers 63 years. There are many missing values. Basically I would > like to go from the top example to the bottom example and be able to scale it > up to cover many more countries and years. > > Thanks in advance for any help you can offer. > > country programme FY1985 FY1986 > Afghanistan Child Survival and Health 10,000,000 15,000,000 > Afghanistan Department of Defense Security Assistance 15,000,000 15,000,000 > Afghanistan Narcotics Control NA 5,000,000 > Afghanistan Peace Corps NA 7,500,000 > Albania Child Survival and Health NA 25,000 > Albania Department of Defense Security Assistance NA NA > Albania Narcotics Control NA 5,000 > Albania Peace Corps NA NA > > > > > > > > > > > > > > > > country programme FY1985 FY1986 > Afghanistan Child Survival and Health,Department of Defense Security > Assistance,Narcotics Control,Peace Corps 25,000,000 42,500,000 > Albania Child Survival and Health,Department of Defense Security > Assistance,Narcotics Control,Peace Corps NA 30,000 > > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@r-project.org (mailto: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. [[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.