-1

我有以下表结构:

Number      Type      Year
------      ----      ---- 
10          a         2000
20          b         2000
20          b         2000
10          c         2001

我想合并列标志相同的单元格的结果。例如,类型 b 的两个单元格在同一年有两个单独的结果,20 和 20。我想最终得到一个这样的数据框:

Number      Type      Year
------      ----      ---- 
10          a         2000
40          b         2000
10          c         2001

我现在似乎只能将列“融化”在一起。任何人都可以帮忙吗?

4

3 回答 3

1

使用plyr包和data.table包的解决方案:

library(plyr)
ddply(df,.(Type,Year),summarize, Number=sum(Number))

library(data.table)
DT<-data.table(df)
setkey(DT,Type,Year)
DT[,list(Number=sum(Number)),by="Type,Year"]
于 2013-09-16T14:23:44.280 回答
1
aggregate(yourdata$Number,by=list(Type=yourdata$Type,Year=yourdata$Year),sum)
于 2013-09-16T12:36:51.107 回答
1

使用公式:

aggregate(Number ~ Type + Year, data=DF, sum)
于 2013-09-16T14:02:17.260 回答