как я могу устранить ошибку "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()
в коде. Хотя это может быть полезно другим....