简介:gtsummary包可实现快速生成论文基线表,并弥补了tableone包不能添加统计量列的痛点
示例语法:
library(gtsummary)
library(tidyverse)
t1 <- adam %>% select(2:78) %>% #选择需要分析的变量
tbl_summary(by = group, #指定分组变量
label = list(base4 ~ "Patient Age"), #定义变量名的显示标签
missing="no", #指定是否显示变量的缺失值个数
type=list(c("base4")~"continuous",c("base2")~"categorical"), #指定变量类型
statistic = list(all_continuous() ~ "{median} {p25}, {p75})", #连续性变量的统计量设定
all_categorical() ~ "{n} ({p}%)"),#分类变量的统计量设定
digits = list(all_continuous() ~ 2, #设定连续性统计量的小数位数
all_categorical()~c(0,2))) %>% #设定分类统计量的小数位数
add_p(test=all_continuous()~"t.test",pvalue_fun = ~ style_pvalue(.x, digits = 3)) %>%
add_overall() %>% add_stat_label() %>% #指定添加汇总列,添加统计量显示标签
modify_header(statistic ~ "**Test Statistic**") %>% #添加检验统计量
modify_fmt_fun(statistic ~ label_style_sigfig(digits = 4)) #调整统计量的小数位数
t1 %>% as_hux_xlsx(file = 'table1.xlsx') #结果输出为excel表
#将结果转为word表
library(officer)
library(flextable)
table <- as_hux_table(t1) #将t1转为huxtable表
ft <- flextable(table) #继续转换为可用格式
doc <- read_docx()
doc <- doc %>%
body_add_par("标题", style = "Normal") %>% #添加标题和格式
body_add_flextable(ft) %>% #添加表格
body_add_par("注:与常规组治疗后比较,“P<0.05;与tDCS组治疗后比较,P<0.05。", style = "Normal") %>% #添加脚注
body_add_par("", style = "Normal") # Blank line between tables
print(doc, target = "output_tables.docx") #输出word
语法简介:
“select”选择需要被分析的变量(包括分组变量)
tbl_summary函数语法
“by=”指定分组变量
“statistic=”指定变量的统计值,“all_continuous() ~”指定连续性变量,“all_categorical()”指定分类变量
“digits =”指定显示的统计量的小数位数,如要分别指定可以用向量的形式
“add_p(test=all_continuous()~”t.test”,pvalue_fun = ~ style_pvalue(.x, digits = 3))”添加p值,指定检验方法和p值的小数位数
“add_overall()”指定添加汇总列
“add_stat_label”添加统计量显示标签
“modify_header(statistic ~ “Test Statistic“)”添加检验统计量表头
“as_hux_xlsx(file = ‘table1.xlsx’)” 结果输出为excel表
注意事项:
add_p函数默认添加的检验方法是非参数检验,如需要t检验p值需要使用“test=all_continuous()~”t.test””
有一些离散型变量如年龄或者分类数较多的变量,默认会识别为分类变量,可以用“type=”来指定其为连续性变量
数据结果展示:
欢迎留言探讨