gpt4 book ai didi

r - 按因素水平和总计汇总

转载 作者:行者123 更新时间:2023-12-02 06:27:26 24 4
gpt4 key购买 nike

我试图对一个因子的每个水平的数字列的值求和,但也在结果数据框中获得所有水平的总和。

例如:

# 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

如果不够清楚,我深表歉意。

最佳答案

你可以rbind,即

d1 <- aggregate(population ~ gender, df, sum)    
rbind(data.frame(gender = 'total', population = sum(d1$population)), d1)

# gender population
#1 total 550
#2 female 300
#3 male 250

关于r - 按因素水平和总计汇总,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54129152/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com