【问题标题】:How to manipulate the row name in tbl_regression?如何操作 tbl_regression 中的行名?
【发布时间】:2020-06-22 23:32:59
【问题描述】:

在网上的例子中,有:

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 的包装信息上看到的选项,并且在我尝试时不起作用。必须有一种简单的方法来做到这一点,否则我在文章中搜索不够努力。谢谢!

【问题讨论】:

    标签: r gtsummary


    【解决方案1】:

    问题 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"
        )
      ) 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-07
      • 2021-10-04
      相关资源
      最近更新 更多