如何用R包生成报告适用描述性表格并绘制crash_speed数据表
生成报告级描述性表格的R方案
适用包及核心函数
gt包:核心函数gt(),属于tidyverse生态,支持多格式输出,样式自定义灵活,是当前生成专业报告表格的首选工具flextable包:核心函数flextable(),对Word、PPT等Office格式兼容性极强,无需复杂配置即可输出规整表格knitr+kableExtra组合:核心函数knitr::kable(),轻量易用,适合R Markdown、Quarto文档内嵌表格场景
具体操作步骤
所有方案均基于你已加载crash_speed数据框的前提,可直接原样输出数据框内的所有内容。
方案1:gt包(多场景通用推荐)
# 安装并加载包 install.packages("gt") library(gt) # 生成基础表格,原样保留数据框结构 crash_table <- gt(crash_speed) # 可选配置:添加标题、修改列名适配报告要求 crash_table <- crash_table %>% tab_header(title = "各速度区间交通事故统计") %>% cols_label( speed_range = "速度区间(km/h)", crash_num = "事故数量", injury_num = "伤亡人数", death_num = "死亡人数" ) # 导出为Word/HTML/PDF格式 gtsave(crash_table, file = "crash_speed统计表格.docx")
方案2:flextable包(Office文档适配首选)
# 安装并加载包 install.packages("flextable") library(flextable) # 生成表格并自动适配列宽 crash_table <- flextable(crash_speed) %>% set_caption(caption = "各速度区间交通事故统计") %>% autofit() # 直接导出为Word格式 save_as_docx(crash_table, path = "crash_speed统计表格.docx")
方案3:kable+ kableExtra(轻量内嵌场景)
# 安装并加载包 install.packages(c("knitr", "kableExtra")) library(knitr) library(kableExtra) # 生成可直接在Rmd/Quarto中渲染的表格 kable(crash_speed, caption = "各速度区间交通事故统计", col.names = c("速度区间(km/h)", "事故数量", "伤亡人数", "死亡人数")) %>% kable_styling(full_width = FALSE)
如果不需要自定义标题、列名等样式,所有方案均可直接调用核心生成函数传入crash_speed,即可原样输出数据框内的全部内容。
内容的提问来源于stack exchange,提问作者scumbagsurfer
相关产品推荐
相关产品推荐

