在在线示例中,有:
mod1 <- glm(response ~ trt + age + grade, trial, family = binomial)
t1 <- tbl_regression(mod1, exponentiate = TRUE)
它会产生一个不错的回归表,但是我该如何编写代码来仅显示1级而不是所有1至3级。并且,如果存在一行本来是二进制(0或1)的行,我该如何选择真正的呢?
我尝试了label = list(.....)
和value = list(...)
,但这不是我在gtsummary
的软件包信息中看到的选项,并且在尝试时不起作用。必须有一种简单的方法来执行此操作,否则我在撰写本文时会不够努力。谢谢!
答案 0 :(得分:2)
问题1:成绩是一个具有三个级别的变量,您希望在单行中显示此结果。您可以使用Wald或Likelihood ratio测试来测试等级的显着性,并使用combine_terms()
函数打印单个p值。请注意,您将不再看到与II级和III级相关的2个beta系数。
问题2:tbl_regression()
模型将在输入glm()
时打印结果。数字变量被解释为连续的,并打印在一行上。所有其他打印在多行上。如果您的变量编码为0/1,它将在单行上打印。要显示两个级别,可以在其周围添加factor()
。如果您处于相反的情况,即在多行上打印二进制变量并希望将其显示在单行上,则可以使用tbl_regression(show_single_row=)
参数。
示例1:
在单行上显示成绩,默认打印"trt"
(字符)和"death"
(数字0/1)。 "trt"
打印两行,"death"
打印单行。
library(gtsummary)
glm(response ~ trt + grade + death, trial, family = binomial) %>%
tbl_regression(exponentiate = TRUE) %>%
combine_terms(formula_update = . ~ . - grade, test = "LRT")
示例2:
现在,我们将"trt"
打印在一行上,"death"
将打印在两行上。
glm(response ~ trt + factor(death), trial, family = binomial) %>%
tbl_regression(
exponentiate = TRUE,
show_single_row = trt,
label = list(
trt ~ "Drug B vs A (reference group)",
`factor(death)` ~ "Death"
)
)