【发布时间】:2021-09-09 03:48:23
【问题描述】:
我正在使用 qwraps2 库来生成汇总表。在编写汇总统计列表时,我有:
summary1 <-
list("Wage" =
list("min" = ~ min(WAGE),
"max" = ~ max(WAGE),
"mean (sd)" = ~ qwraps2::mean_sd(WAGE)))
这是手册中的标准设置。但是,我想计算加权平均值,然后计算标准差。有没有办法做到这一点是 qwraps2 或其他命令/库?
编辑
假设以下数据框包含 5 个人、他们的小时工资和他们在数据集中的体重(出于抽样目的,因为我正在处理 CPS 数据)。
library(qwraps2)
person <- c(1, 2, 3, 4, 5)
wage <- c(20, 25, 30, 35, 40)
weight <- c(1, 1.5, 2, 2.5, 3)
dfa <- as.data.frame(cbind(person, wage, weight))
dfa
算术平均值(在 qwraps2 中计算)为 30: arithmetic mean
加权平均值(我想在summary1 中计算的值是 32.5:
weighted mean
summary1 <-
list("Wage" =
list("min" = ~ min(wage),
"max" = ~ max(wage),
"mean (sd)" = ~ qwraps2::mean_sd(wage)))
output <-summary_table(dfa, summary1)
output
这里,平均值的输出是 30(使用 qwraps2),这是算术平均值。但是,我希望输出是 32 的加权平均值。我希望这会有所帮助!
【问题讨论】:
-
@akrun 我已附上编辑。我希望他们能帮助解决问题
-
为什么不能使用
"mean (sd)" = ~ weighted.mean(WAGE, weight))) -
您能否查看下面发布的解决方案。谢谢
标签: r summary weighted-average qwraps2