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

如何在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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 12:20:58