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

时间:2015-01-16 20:39:14

标签: r dataframe sum pivot-table

我想在R的数据框架中使用一些Excel的数据透视表功能。我可以用一些长度编码做我想做的事,但我想知道是否有一种简单的方法可以做到这一点。

假设我有以下数据框:

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

任何简单的方法吗?

1 个答案:

答案 0 :(得分:4)

您可以使用aggregate

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

请查看this answer以获取更多替代方案