想起之前手动整理表格的日子,一直想找几个能自动做统计学表格的包,所以今天给大家介绍下gtsummary包,使用R语言自动输出论文可用的统计学表格。下面以多重线性回归举例。
一、绘制多重线性回归结果三线表的tbl_regression函数
函数用法:
tbl_regression(
x,
label = NULL,
exponentiate = FALSE,
include = everything(),
show_single_row = NULL,
conf.level = NULL,
intercept = FALSE,
estimate_fun = NULL,
pvalue_fun = NULL,
tidy_fun = NULL,
add_estimate_to_reference_rows = FALSE,
show_yesno = NULL,
exclude = NULL,
...
)
部分参数的意义:
见链接(贴不了图)
1、label给变量添加标签,这个操作完全就可以输出我们的结果,不需要事后对表格进行修改
mod_va<-glm(retinol_μmolL~sex+age_cut+Region+SBP+DBP,data=my2)
mod_va %>% tbl_regression(label=list(SBP~ "收缩压"))
图见链接
2、show_single_row参数:默认对分类变量做多行展示,如果不需要多行展示,只需要指定变量即可,请看下面的例子
多行展示分类变量的结果
mod_va<-glm(retinol_μmolL~sex+age_cut+Region+BMI,data=my2)
mod_va %>% tbl_regression()
图见链接
设置如性别、地区只展示一行
mod_va %>% tbl_regression(show_single_row=c(sex,Region))
图见链接
3、pvalue_fun 指定P值的展示位数
mod_va<-glm(retinol_μmolL~sex+age_cut+Region+SBP+DBP,data=my2)
mod_va %>% tbl_regression(show_single_row=c(sex,Region),intercept=F,
pvalue_fun =purrr::partial(style_pvalue, digits =3))
图见链接
三、结果导出
结果导出太简单,因为表格可以直接复制粘贴到excel中
图见链接
二、给模型展示更多信息add_glance_table函数
函数用法:
add_glance_table(
x,
include = everything(),
label = NULL,
fmt_fun = NULL,
glance_fun = broom::glance
)
图见链接
展示模型的R方、AIC信息、样本量等。
这里大家需要注意的是对于“glm”函数构建的方程不能用于该函数,而lm函数可以。
mod_va<-lm(retinol_μmolL~sex+age_cut+Region+SBP+DBP,data=my2) %>% tbl_regression()
mod_va%>% add_glance_table(
label = list(sigma ~ "\U03C3"),
include = c(r.squared, AIC, sigma,nobs))
三、展示每个变量的样本量add_n()函数
函数用法:
add_n(x, location = NULL, ...)
location ="label"展示的是每个变量的总样本量,location="level"展示的是每个变量水平的变量
mod_va<-lm(retinol_μmolL~sex+age_cut+Region+SBP+DBP,data=my2) %>% tbl_regression()
mod_va%>% add_glance_table(include =c(r.squared)) %>%
add_n(location =c("label", "level") )
图见链接
这个功能太绝了!!想起我每次做表格手动输入样本量的痛苦,终于解放双手了!希望大家以后整理结果的速度快如高铁般迅捷!
图中提到的链接:
https://mp.weixin.qq.com/s/uMsOF9RGAX5y9TDxvCG3VA
(或见:R语言与医学生,公众号。