(由于行的顺序略有混乱aggregate()
按分组列对输出进行排序的行为,但数据正确。)
df1 <- data.frame(Type=c('alpha','beta', 'gamma','delta'), CA=c(2,1,6,8), AR=c(3,5,2,1), Total=c(5,6,8,9) );
df2 <- data.frame(Type=c('alpha','beta','delta'), AR=c(3,2,4), CA=c(4,6,1), Total=c(7,8,5) );
aggregate(.~Type,rbind(df1,setNames(df2,names(df1))),sum);
## Type CA AR Total
## 1 alpha 5 7 12
## 2 beta 3 11 14
## 3 delta 12 2 14
## 4 gamma 6 2 8