как я могу устранить ошибку "undefined columns selected" для ggforest

Как я могу устранить ошибку с выбранными неопределенными столбцами? Я загрузил выживший и пакеты для выживания.

   cox4<- coxph(formula= Surv(LOS,Mortality)~ BNPcat+HF_dx+Age+Sex+BMI+
           Admit_QTc+FI02_comb+Admit_Lactate,data=DF)
    ggforest(cox4)
> cox4
Call:
coxph(formula = Surv(LOS, Mortality) ~ BNPcat + HF_dx + Age + 
    Sex + BMI + Admit_QTc + FI02_comb + Admit_Lactate, data = DF)

                    coef  exp(coef)   se(coef)      z      p
BNPcat1        0.9030311  2.4670696  0.9888592  0.913 0.3611
HF_dx1         0.8819918  2.4157065  0.8519562  1.035 0.3005
Age            0.0479344  1.0491018  0.0284893  1.683 0.0925
Sex1           0.3792915  1.4612490  0.7020620  0.540 0.5890
BMI            0.0250854  1.0254027  0.0319454  0.785 0.4323
Admit_QTc     -0.0006391  0.9993611  0.0060206 -0.106 0.9155
FI02_comb      0.0204957  1.0207072  0.0101321  2.023 0.0431
Admit_Lactate  0.2433651  1.2755342  0.1112036  2.188 0.0286

Likelihood ratio test=21.33  on 8 df, p=0.006311
n= 71, number of events= 13 
   (62 observations deleted due to missingness)
> ggforest(cox4)
Error in `[.data.frame`(cbind(allTermsDF, coef[inds, ]), , c("var", "level",  : 
  undefined columns selected
In addition: Warning message:
In .get_data(model, data = data) :
  The `data` argument is not provided. Data will be extracted from model fit.

3 ответа

Я столкнулся с той же проблемой. И я решил это, заменив R-пакет "метла" на предыдущую версию.

Трудно подтвердить источник ошибки, не просматривая ни данные, ни сводку модели, но если мы сделаем это:

library(survival)
library(survminer)

data <- data.frame(LOS = rlnorm(1000, rep(0:1, each = 500)),
                   mortality = rbinom(100, 1, rep(c(0.5, 0.05), each = 500)),
                   condition = rep(c("Sick", "Well"), each = 500))

cox4 <- coxph(Surv(LOS, mortality) ~ condition, data = data)

При попытке построить график мы получаем следующую ошибку:

ggforest(cox4)
#> Warning in .get_data(model, data = data): The `data` argument is not provided.
#> Data will be extracted from model fit.
#> Error in .get_data(model, data = data): The `data` argument should be provided
#> either to ggsurvfit or survfit.

Это странная ошибка. Кажется, это происходит потому, что ваш фрейм данных называетсяdata, который используется как имя параметра в ggforest. Мы можем убрать ошибку, если специально пропустимdata = data к ggforest:

ggforest(cox4, data = data)

или измените имя фрейма данных:

df <- data

cox4 <- coxph(Surv(LOS, mortality) ~ condition, data = df)

ggforest(cox4)
#> Warning in .get_data(model, data = data): The `data` argument is not provided.
#> Data will be extracted from model fit.

Создано 12.07.2020 пакетом REPEX (v0.3.0)

У меня возникла такая же проблема при использовании as.factor() в пределах coxph-функция:

cox0x<-coxph(formula=Surv(SurvTime.full,state.full=="1") ~  as.factor(PreSur), data=data1)
ggforest(cox0x, data=data1)

Error in `[.data.frame`(x, i, j) : undefined columns selected

Следует отметить, что моя переменная PreSur уже был фактором при использовании в coxph. Однако, избегаяas.factor() в моем случае проблема решена:

cox0x<-coxph(formula=Surv(SurvTime.full,state.full=="1") ~  PreSur, data=data1)
ggforest(cox0x, data=data1)

введите описание изображения здесь

Однако я знаю, что это не решение проблемы ABC, которая не использует as.factor()в коде. Хотя это может быть полезно другим....

Другие вопросы по тегам