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]]