如何在gtsummary中展示分类变量各水平的全部回归结果?
显示回归模型中所有因子水平的估计值(含参照组)
当然可以展示包括参照组在内的所有Grade水平的回归结果,下面提供两种可行的方法:
方法1:用无截距模型直接拟合所有水平
在模型公式里去掉截距项(用0 + grade或grade - 1),模型会直接输出每个Grade水平的独立估计值,而非以某一组为参照的差值。示例代码如下:
library(gtsummary) # 假设trial数据已加载,且grade是因子变量 glm(response ~ age + 0 + grade, trial, family = binomial(link = "logit")) %>% tbl_regression(exponentiate = TRUE) # exponentiate=TRUE用来展示OR值,可按需选择
这种方式下,每个Grade水平的估计值都是相对基线(截距为0)的结果,没有参照组的隐藏。
方法2:保留原模型,给输出表添加参照组行
如果想保留原有的参照组对比逻辑,同时在结果表中显示参照组的行,可以用gtsummary的add_reference_rows()函数。示例代码:
library(gtsummary) # 拟合原模型 model <- glm(response ~ age + grade, trial, family = binomial(link = "logit")) # 生成汇总表并插入参照组行 model %>% tbl_regression(exponentiate = TRUE) %>% add_reference_rows()
这个函数会在结果表中插入参照组的行,其OR值为1(若设置exponentiate=FALSE则系数为0),并标注为参照组,这样就能完整展示所有水平的结果。
注意:如果你的grade变量不是因子类型,需要先通过factor(grade)将其转换为因子,确保模型能识别它的分类水平。
内容的提问来源于stack exchange,提问作者12666727b9
相关产品推荐
相关产品推荐

