Как исправить ошибку «переменная длина отличается» в cv.zipath? - PullRequest
1 голос
/ 28 июня 2019

Попытка запустить перекрестную валидацию модели Пуассона с нулевым давлением, используя cv.zipath из пакета mpath.

Установка ЛАССО
fit.lasso = zipath(estimation_sample_nomiss ~ .| ., 
             data = missings, 
             nlambda = 100, 
             family = "poisson", 
             link = "logit")
Перекрестная проверка
n <- dim(docvisits)[1]
K <- 10
set.seed(197)
foldid <- split(sample(1:n), rep(1:K, length = n))
fitcv <- cv.zipath(F_time_unemployed~ . | ., 
    data = estimation_sample_nomiss, family = "poisson",
                      nlambda = 100, lambda.count = fit.lasso$lambda.count[1:30],
                      lambda.zero = fit.lasso$lambda.zero[1:30], maxit.em = 300,
                      maxit.theta = 1, theta.fixed = FALSE, penalty = "enet",
                      rescale = FALSE, foldid = foldid)

Я сталкиваюсь со следующей ошибкой:

Ошибка в model.frame.default (формула = F_time_unemployed ~. +., Data = list (: переменные длины отличаются (найдено для '(весов)'))

Я очистил образец всех NA, но все еще сталкиваюсь с сообщением об ошибке.

1 Ответ

0 голосов
/ 01 июля 2019

Решение состоит в том, что команда cv.zipath() не принимает форматы данных tibble - по крайней мере, в этом случае.(Нет гарантии относительно того, как это утверждение может быть обобщено).Воспользовавшись командами dplyr, необходимо преобразовать данные обратно во фрейм данных.Таким образом, решение так же просто, как as.dataframe().

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