Hi
r-help-bounces at r-project.org napsal dne 27.04.2011 13:30:13:
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.
merge(df.1,df.2, by.x="year", by.y="year", all.x=T)
?year level number.x number.y
1 ? ?1 ? ? a ? ? ? 11 ? ? ? 21
2 ? ?1 ? ? a ? ? ? 17 ? ? ? 21
3 ? ?1 ? ? a ? ? ? 14 ? ? ? 21
than you can sum last 2 columns. I believe that sqldf package can do what
you want more efficiently but I do not use it so I do not know exact
syntax.
Regards
Petr
What would be the most efficient way of doing this?
Regards,
EH