gtsummary中tbl_uvregression含额外变量时如何显示其估计值?
问题原因
tbl_uvregression的默认逻辑是:只展示公式中{x}对应的循环自变量(也就是你传入数据框里的grade这类变量),额外加入的固定变量(比如你加的age)会被当作调整协变量,默认不会出现在输出表格里。
解决方案
有几种方式可以让age的估计值显示在表格中,同时保留它在模型公式里的位置:
方法1:用add_estimate()追加调整变量结果
先运行原模型代码,再通过add_estimate()指定要展示age的估计值:
tbl_uv_ex1 <- tbl_uvregression( trial[c("response", "age", "grade")], method = glm, y = response, method.args = list(family = binomial), exponentiate = TRUE, formula= "{y}~ {x}+ age" ) %>% add_estimate(age) # 把age的估计结果添加到表格中 tbl_uv_ex1
方法2:设置include参数强制展示所有变量
在tbl_uvregression()中直接指定include = everything(),让模型里的所有变量都出现在输出里:
tbl_uv_ex1 <- tbl_uvregression( trial[c("response", "age", "grade")], method = glm, y = response, method.args = list(family = binomial), exponentiate = TRUE, formula= "{y}~ {x}+ age", include = everything() # 包含模型中的所有变量 ) tbl_uv_ex1
优化显示:合并age的重复行
因为你是对每个x(比如grade的不同水平)单独建模,每个模型都包含age,表格里会重复显示age的结果。可以用show_single_row()把age的结果合并成一行,让表格更简洁:
tbl_uv_ex1 <- tbl_uvregression( trial[c("response", "age", "grade")], method = glm, y = response, method.args = list(family = binomial), exponentiate = TRUE, formula= "{y}~ {x}+ age", include = everything() ) %>% show_single_row(age) # 将age的结果合并为单行展示 tbl_uv_ex1
内容的提问来源于stack exchange,提问作者Faith Magut
相关产品推荐
相关产品推荐

