R mlr alive.ranger Ошибка в `[.data.frame` (num.response, x == y): выбраны неопределенные столбцы - PullRequest
0 голосов
/ 11 января 2019

Подготовьте данные («яичники» из пакета выживания):

require(pacman)
p_load(mlr, survival, tidyverse, ranger)
data("ovarian")
ovarian$rx <- factor(ovarian$rx, 
                     levels = c("1", "2"), 
                     labels = c("A", "B"))
ovarian$resid.ds <- factor(ovarian$resid.ds, 
                           levels = c("1", "2"), 
                           labels = c("no", "yes"))
ovarian$ecog.ps <- factor(ovarian$ecog.ps, 
                          levels = c("1", "2"), 
                          labels = c("good", "bad"))
ovarian <- ovarian %>% mutate(age_group = ifelse(age >=50, "old", "young"))
ovarian$age_group <- factor(ovarian$age_group)

Теперь запустите с пакетом «mlr», sur.ranger:

trainTask <- makeSurvTask(data = ovarian, target = c("futime", "fustat"))
trainLearner <- makeLearner("surv.ranger", predict.type = "response")
train(trainLearner,trainTask)
Error in `[.data.frame`(num.response, x == y) : 
  undefined columns selected

Почему возникает ошибка? Как это исправить?

Затем я попытался использовать другой образец набора данных («lung.task» из пакета mlr), но получил другую ошибку:

trainLearner <- makeLearner("surv.ranger", predict.type = "response")
train(trainLearner,lung.task) # lung.task is from mlr package
Error in ranger::ranger(formula = NULL, dependent.variable.name = tn[1L],  : 
  argument ".weights" is missing, with no default

1 Ответ

0 голосов
/ 11 января 2019

Мне потребовалось много времени, чтобы выяснить это, но теперь я получил ошибку. Он исходит из параметраpect.unordered.factors в модуле проверки пакетов, он также не работает:

ranger::ranger(formula = NULL, dependent.variable.name = "futime", status.variable.name = "fustat", data = ovarian, respect.unordered.factors = "order")

Чтобы решить это сейчас, вы можете установить другое значение:

lrn <- makeLearner("surv.ranger", predict.type = "response", respect.unordered.factors = "partition")
lrn <- makeLearner("surv.ranger", predict.type = "response", respect.unordered.factors = "order")

Редактировать: В новейшей версии рейнджера от github эта ошибка больше не появляется. Чтобы установить его, используйте следующую команду и перезапустите R:

devtools::install_github("imbs-hl/ranger")

Смотрите также здесь: https://github.com/imbs-hl/ranger/issues/359

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...