问题描述
我找不到如何使用 {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
)
由 reprex package (v1.0.0) 于 2021 年 3 月 4 日创建