我尝试对一个数字列的每个因子水平进行求和,同时也要得到结果数据框中所有水平的总和。例如:
但是有没有一种方法可以得到一个同时对两个级别求和的输出呢?
抱歉,如果之前表述不够清楚。
# Type gender population
# A male 100
# B male 150
# A female 125
# B female 175
使用聚合函数,我可以得到:
aggregate(population ~ gender, df, sum)
# gender population
# male 250
# female 300
但是有没有一种方法可以得到一个同时对两个级别求和的输出呢?
# gender population
# all 550
# male 250
# female 300
使用SAS的proc tabulate可以轻松完成此操作,希望在R中也有相应的方法。
提前感谢您的帮助。
编辑
给出的两个答案都可行,但我正在尝试找到一种不那么临时的解决方案。我正在寻找适用于多个变量的解决方案,例如对于更复杂的数据框的输出:
# Type gender population
# all all 500
# all male 200
# all female 300
# A all 250
# A male 100
# A female 150
# B all 250
# B male 100
# B female 150
抱歉,如果之前表述不够清楚。
~
右侧使用多个变量。例如,data.frame(addmargins(xtabs(population ~ gender + Type, df2)))
将为您提供按组求和以及总和。 - IceCreamToucan