具有 {gtsummary} 的 tbl_uvregression() 函数的多单变量 Cox 回归

问题描述

我找不到如何使用 {gtsummary} 的 tbl_uvregression() 函数执行多单变量 Cox 回归。

这是我到目前为止:

  • 执行多项单变量逻辑回归,其中:
tbl_uvregression(dataSOF,method = glm,y = death,method.args = list(family = binomial),exponentiate = T)
  • 执行单变量 cox 回归,使用:
coxph(Surv(survival_days,survival_status) ~ age,data = dataSOF) %>%
  tbl_regression(exponentiate = TRUE)
  • 执行多变量 cox 回归,具有:
coxph(Surv(survival_days,survival_status) ~ age+disease,data = dataSOF) %>%
  tbl_regression(exponentiate = TRUE)

但我无法得到多个单变量 cox 回归...

我试过了:

tbl_uvregression(
  dataSOF,method=coxph,y = Surv(time = survival_days,event = survival_status),exponentiate = T
)

但我收到以下错误

Erreur : Problem with `mutate()` input `model`.
x Argument family not matched
i Input `model` is `map(...)`.
Run `rlang::last_error()` to see where the error occurred.

我正在处理的数据:

dput(dataSOF[1:10,])
structure(list(ID = c(1,2,3,4,5,6,7,8,9,10),age = c(62,57,67,74,71,46,53,63),disease = c(0,1,0),death = c(0,1),censored_survival_days = c(60,60,60),censored_survival_status = c(1,1)),row.names = c(NA,-10L),class = c("tbl_df","tbl","data.frame"))

有什么建议吗? 提前致谢!


更新

一个可重复的例子:

dataAAV3 <- structure(list(age = c(62,63,77,69,86
),sexe = c(1,survie_sans_deces_cens5 = c(60,20,8),status_deces_cens5 = structure(c(1L,1L,2L),.Label = c("1","2"),class = "factor")),"data.frame"))```


library(gtsummary)
#> Warning: le package 'gtsummary' a été compilé avec la version R 4.0.3
tbl_uvregression(
  dataAAV3,y = Surv(time = survie_sans_deces_cens5,event = status_deces_cens5),exponentiate = TRUE)
#> Warning in .select_to_varnames(select = !!y,data = data,arg_name = "y"):
#> redémarrage de l'évaluation d'une promesse interrompue
#> Error: Specify one,and only one,of `x` and `y`. This function can
#>          create univariate regression models holding either a covariate or outcome
#>          constant.
Created on 2021-03-04 by the reprex package (v1.0.0)

解决方法

使用您的示例数据,以下代码有效。请注意,您提供的数据框中的变量名称与函数调用中的变量名称不匹配。

library(gtsummary)
packageVersion("gtsummary")
#> [1] '1.3.7'
library(survival)

dataSOF <-
  structure(
    list(
      ID = c(1,2,3,4,5,6,7,8,9,10),age = c(62,57,67,74,71,46,53,63),disease = c(0,1,0),death = c(0,1),censored_survival_days = c(60,60,60),censored_survival_status = c(1,1)
    ),row.names = c(NA,-10L),class = c("tbl_df","tbl","data.frame")
  )


tbl_uvregression(
  dataSOF,method=coxph,y = Surv(time = censored_survival_days,event = censored_survival_status),exponentiate = TRUE,include = -ID
)

enter image description here reprex package (v1.0.0) 于 2021 年 3 月 4 日创建