> df.1 <- merge(df.1, df.2, by = "year") > df.1$sum <- df.1$number.x + > df.1$number.y > df.1 year level number.x number.y sum 1 1 a 11 21 32 2 1 a 17 21 38 3 1 a 14 > 21 35 4 2 b 12 22 34 5 2 b 15 22 37 6 2 b 18 22 40 7 3 c 16 23 39 8 3 c 13 23 > 36 9 3 c 19 23 42
Scott On Wednesday, April 27, 2011 at 6:30 AM, E Hofstadler wrote: > Hi there, > > this is probably simple but I can't seem to figure it out by myself... > > I have two dataframes (df.1 and df.2): > > df.1 <- data.frame(year=factor(rep(1:3,3)), level=rep(letters[1:3],3), > number=c(11:19)) > df.2 <- data.frame(year=factor(c(1:5)), number=c(21:25)) > > I would like to create a new variable df.1$new, which is supposed to > be the sum of each element of df.1$number and those elements of > df.2$number, where df.2$year equals df.1$year. > > What would be the most efficient way of doing this? > > Regards, > EH > > ______________________________________________ > 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.