我正在尝试使用 glmnet 创建一个模型(当前使用 cv 来查找 lambda 值),但出现错误NA/NaN/Inf in foreign function call (arg 5)
。我相信这与我的数据集中的 NA 值有关,因为当我使用 NA 删除所有数据点时,命令会成功运行。
我的印象是 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