我有以下表结构:
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
此刻我似乎只能“融合”列。有人可以帮忙吗?
答案 0 :(得分:1)
aggregate(yourdata$Number,by=list(Type=yourdata$Type,Year=yourdata$Year),sum)
答案 1 :(得分:1)
使用公式:
aggregate(Number ~ Type + Year, data=DF, sum)
答案 2 :(得分: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"]