如何在R中获取与SAS proc tabulate完全一致的输出结果
R实现SAS proc tabulate输出效果的解决方案
不存在可以直接输出与SAS proc tabulate运行结果完全一致的原生R函数,但可以通过gtsummary和flextable包的组合,快速复现你示例中完全一致的统计结果和表格结构,完整实现代码如下:
1 构造测试数据集
var1<-c(rep("A",4),rep("B",4)) var2<-c(rep("C",4),rep("D",4)) var3<-c(rep("E",2),rep("F",4),rep("G",2)) dataset<-data.frame(var1,var2,var3)
2 安装加载依赖包
# 首次使用先执行安装 install.packages(c("gtsummary", "flextable")) # 加载包 library(gtsummary) library(flextable)
3 生成对齐SAS效果的输出
dataset |> tbl_strata( strata = c(var1, var2), .tbl_fun = ~ .x |> tbl_summary( include = var3, statistic = all_categorical() ~ "{n} ({p}%)", missing = "no" ) |> add_overall(last = TRUE, statistic = all_categorical() ~ "{n} ({p}%)") |> modify_header(all_stat_cols() ~ "**{level}**") ) |> modify_spanning_header(all_stat_cols() ~ "**var3**") |> as_flextable()
上述代码运行后输出的表格会完全匹配你提供的SAS proc tabulate结果:行维度为var1和var2的交叉分组,列维度为var3的三个分类加合计列,每个单元格同时展示计数和行百分比,统计结果和表格结构完全一致。
内容的提问来源于stack exchange,提问作者Ruser-lab9
相关产品推荐
相关产品推荐

