R ошибка в glmnet: NA/NaN / Inf во внешнем вызове функции

Я пытаюсь создать модель с помощью glmnet (в настоящее время используя cv, чтобы найти значение лямбда), и я получаю ошибку NA/NaN/Inf in foreign function call (arg 5). Я считаю, что это имеет какое-то отношение к значениям NA в моем наборе данных, потому что когда я удаляю все точки данных с NAs, команда запускается успешно.

у меня сложилось впечатление, что glmnet можете обрабатывать значения NA. Я не уверен, откуда исходит ошибка:

> res <- cv.glmnet(features.mat, as.factor(tmp[,"outcome"]), family="binomial")
Error in lognet(x, is.sparse, ix, jx, y, weights, offset, alpha, nobs,  : 
  NA/NaN/Inf in foreign function call (arg 5)

набор данных выглядит примерно так это:

> head(features.mat)
6 x 8 sparse Matrix of class "dgCMatrix"
   a b   c  e  f  g  h i
1  1 1 138 NA NA 15 NA .
4  1 3 171 NA NA 17 NA .
7  1 1 156 NA NA  5 NA .
8  1 4  97 NA NA  7 NA .
9  1 1 219 NA NA 11 NA .
10 1 . 263 NA NA 20 NA .
> head(as.factor(tmp[,"outcome"]))
[1] 0 0 0 0 0 0
Levels: 0 1

1 ответов


похоже, что glmnet не может обрабатывать значения NA!