如何在R中高效导出tbl_summary表格至Excel并拆分数值?
解决tbl_summary表格导出Excel时数值拆分的问题
直接在R中拆分统计量为独立列再导出,就能避免手动处理Excel的繁琐步骤,具体实现如下:
步骤说明
- 拆分统计列:在
tbl_summary中为分类变量设置两个独立统计项(频数n和百分比p),生成两列单独数值。 - 优化表格标签:为拆分后的列设置清晰名称,方便识别。
- 直接导出Excel:用Excel导出工具完成导出,无需后续手动操作。
完整代码
# 安装依赖包(首次运行时执行) install.packages(c("tidyverse", "gtsummary", "openxlsx")) # 加载包 library(tidyverse) library(gtsummary) library(openxlsx) # 生成示例数据 df <- tibble( a = sample(c('red', 'blue', 'pink'), size = 10000, replace = T), b = sample(c('car', 'bike', 'boat'), size = 10000, replace = T) ) %>% mutate_all(as.factor) # 生成拆分统计列的汇总表 tbl_result <- df %>% tbl_summary( # 将分类变量的统计量拆分为频数和百分比两列 statistic = list(all_categorical() ~ c("{n}", "{p}%")), digits = list(all_categorical() ~ c(0, 1)), # 可选:为变量设置自定义标签 label = list(a ~ "颜色", b ~ "交通工具") ) %>% # 为拆分后的统计列设置明确名称 modify_table_styling(columns = stat_1, label = "频数(n)") %>% modify_table_styling(columns = stat_2, label = "百分比(%)") %>% # 转换为数据框格式 as_tibble() # 导出到Excel write.xlsx(tbl_result, "统计结果.xlsx", na = "")
效果说明
导出后的Excel表格中,频数和百分比会分别处于独立单元格,完全匹配你的目标效果,无需再手动拆分或删除符号。
内容的提问来源于stack exchange,提问作者mala fama
相关产品推荐
相关产品推荐

