如何计算 R 中 qwraps2 库中的加权平均值?
How can I calculated the weighted mean in the qwraps2 library in R?
我正在使用 qwraps2 库生成摘要 table。在编写我的汇总统计列表时,我有:
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 的加权平均值。希望对您有所帮助!
有一个 base R
weighted.mean
确实给出了预期的输出
summary1 <-
list("Wage" =
list("min" = ~ min(WAGE),
"max" = ~ max(WAGE),
"mean (sd)" = ~ weighted.mean(WAGE, weight)))
output <- summary_table(dfa, summary1)
output
\begin{tabular}{l|l}
\hline
& dfa (N = 5)\
\hline
\bf{Wage} & ~\
\hline
~~ min & 20\
\hline
~~ max & 40\
\hline
~~ mean (sd) & 32.5\
\hline
\end{tabular}
我正在使用 qwraps2 库生成摘要 table。在编写我的汇总统计列表时,我有:
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 的加权平均值。希望对您有所帮助!
有一个 base R
weighted.mean
确实给出了预期的输出
summary1 <-
list("Wage" =
list("min" = ~ min(WAGE),
"max" = ~ max(WAGE),
"mean (sd)" = ~ weighted.mean(WAGE, weight)))
output <- summary_table(dfa, summary1)
output
\begin{tabular}{l|l}
\hline
& dfa (N = 5)\
\hline
\bf{Wage} & ~\
\hline
~~ min & 20\
\hline
~~ max & 40\
\hline
~~ mean (sd) & 32.5\
\hline
\end{tabular}