数据:
ProjectA,12
ProjectB,24
ProjectA,15
我想计算每个项目的总和,然后总计,结果是:
Project Sum
ProjectA 27
ProjectB 24
Total 51
是否有可以执行此操作的功能?现在我需要做两次电话:
paste('Size of all projects: ', sum(projects$size))
aggregate(projects$size, by=list(projects$name), sum)
答案 0 :(得分:3)
我最近发现了一个有用的功能:addmargins()。
myData <- data.frame(projects=c("projectA","projectB","projectA"), value=c(5,10,15))
myData
projects value
1 projectA 5
2 projectB 10
3 projectA 15
addmargins(with(myData, tapply(value, projects, sum)))
projectA projectB Sum
20 10 30
分组可以通过多种方式完成。因为在这种情况下它是一个向量 - 我使用tapply。