1

在网上的例子中,有:

mod1 <- glm(response ~ trt + age + grade, trial, family = binomial)

t1 <- tbl_regression(mod1, exponentiate = TRUE)

它生成了一个很好的回归表,但是我如何编写代码来仅显示 1 年级而不是所有 1 到 3 年级。而且,如果有一行本质上是二进制的(0 或 1),怎么能我只选择真实的?

我尝试了label = list(.....)and value = list(...),但这不是我在包装信息上看到的选项gtsummary,并且在我尝试时不起作用。必须有一种简单的方法来做到这一点,否则我在文章中搜索不够努力。谢谢!

4

1 回答 1

2

问题 1:成绩是一个具有三个级别的变量,您希望在一行中显示此结果。您可以使用 Wald 或似然比检验来完全检验 Grade 的显着性,并使用该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"
    )
  ) 

在此处输入图像描述

于 2020-06-22T23:58:43.883 回答