Мне нужно извлечь имя переменной сбоя из описания модели Кокса в R. Примечание. У меня нет самого объекта, у меня есть terms(coxfit)
, который был возвращен из сторонней функции.Чтобы привести воспроизводимый пример - предположим, что это модель, созданная в сторонней программе:
library(survival)
test1 <- list(time=c(4,3,1,1,2,2,3),
status=c(1,1,1,0,1,1,0),
x=c(0,2,1,1,1,0,0),
sex=c(0,0,0,0,1,1,1))
coxfit <- coxph(Surv(time, status) ~ x + strata(sex), test1)
# Third party program does a bunch of other stuff
# Returns as part of its output the terms for coxfit:
Terms <- terms(coxfit)
Так что после этого у меня просто есть доступ к терминам:
> Terms
Surv(time, status) ~ x + strata(sex)
attr(,"variables")
list(Surv(time, status), x, strata(sex))
attr(,"factors")
x strata(sex)
Surv(time, status) 0 0
x 1 0
strata(sex) 0 1
attr(,"term.labels")
[1] "x" "strata(sex)"
attr(,"specials")
attr(,"specials")$strata
[1] 3
attr(,"specials")$cluster
NULL
attr(,"specials")$tt
NULL
attr(,"order")
[1] 1 1
attr(,"intercept")
[1] 1
attr(,"response")
[1] 1
attr(,".Environment")
<environment: R_GlobalEnv>
attr(,"predvars")
list(Surv(time, status), x, strata(sex))
attr(,"dataClasses")
Surv(time, status) x strata(sex)
"nmatrix.2" "numeric" "factor"
Что я хочучтобы сделать это извлечь имя переменной сбоя - т.е. в этом случае имя: status
.Есть ли простая функция или какой-то другой способ, который даст мне это имя из терминов модели?