对 R 中数据框的特定列求和

Summing over particular columns of data frame in R

我想在 R 的数据帧中使用一些 Excel 的枢轴 table 功能。我可以用一些长度编码来做我想做的事,但我想知道是否有是一种简单的方法。

假设我有以下数据框:

name<-c("Mexico","France","Chile","Germany","Sudan") 
continent<-c("Am","Eur","Am","Eur","Afr") 
population<-c(1000,2000,3500,2500,2000) 
countries<-data.frame(name,continent,population)

我想得到一个新的数据框,只包含大陆和人口列,其中人口是各国的总和。所以我想要这个得到这个:

> continents
continent population
1 Am 4500
2 Eur 4500
3 Afr 2000

有什么简单的方法吗?

你可以使用 aggregate

> aggregate(population~continents, data=countries, FUN=sum)
  continents population
1        Afr       2000
2         Am       4500
3        Eur       4500

查看 this answer 了解更多选择