1

如何解决选择未定义列的错误?我已经加载了 survminer 和生存包。

   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.
4

3 回答 3

0

我遇到了同样的问题。我通过将“扫帚”的R包替换为以前的版本来解决它。

于 2020-07-21T16:19:25.563 回答
0

as.factor()coxph-function中使用时我遇到了同样的问题:

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

值得注意的是,我的变量PreSurcoxph. 但是,as.factor()在我的情况下避免解决问题时:

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

在此处输入图像描述

但是,我知道这不是 ABC 问题的解决方案,谁没有as.factor()在代码中使用。虽然它可能对其他人有帮助....

于 2020-08-05T10:44:25.980 回答
0

如果不查看数据或模型摘要,很难确认错误的来源,但如果我们这样做:

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.

reprex 包(v0.3.0)于 2020-07-12 创建

于 2020-07-12T09:21:07.647 回答