You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R的svyby函数结果中添加总计均值行?

给svyby输出添加总计均值行的方法

你可以通过「单独计算总计行再合并」的方式实现,步骤简单易上手:

步骤1:获取分组统计结果

先运行你原有的svyby代码,得到各Race分组的BMI均值:

group_res <- svyby(~bmi, ~Race, design, svymean, na.rm = TRUE)

步骤2:计算总体总计的均值

单独用svymean计算所有样本的BMI均值,再调整成和分组结果匹配的格式:

# 计算所有样本的BMI均值
total_res <- svymean(~bmi, design, na.rm = TRUE)
# 转换为data.frame并转置(适配svymean的输出结构)
total_res_df <- as.data.frame(t(total_res))
# 添加分组标识为「总计」
total_res_df$Race <- "总计"
# 调整列顺序,和分组结果完全一致
total_res_df <- total_res_df[, colnames(group_res)]

步骤3:合并结果

用rbind把分组结果和总计行合并,得到最终的带总计的交叉表:

final_res <- rbind(group_res, total_res_df)

这样final_res里就包含了各个种族的BMI均值,以及所有样本的总计均值,和Stata的输出逻辑一致。

内容的提问来源于stack exchange,提问作者ad9820

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 06:20:10