在尝试使用cv.glmnet
对我的数据执行交叉验证时,我收到了错误
Error in apply(nz, 1, median) : dim(X) must have a positive length
在下面的一行中,y
是一个3级变量(我在原始变量上使用了as.factor()
)。预测变量x
由一个连续变量(mage)和一些因子变量组成(在分类变量上再次使用as.factor()
)。正如另一篇在线帖子所建议的,我收集所有预测因子的代码是:
xfactors <- model.matrix(ANYHEART ~ mrace+frace+sex+smoke+alcohol+bmi+dbt+ben+tol+
xyl+car+chl+met+per+tca+tce+sto+chlor+arom)[,-1]
x <- as.matrix(data.frame(mage, xfactors))
y <- as.factor(ANYHEART)
fit = glmnet(x, y, family="multinomial", type.multinomial="grouped")
随后使用以下方式进行交叉验证:
cvfit <- cv.glmnet(x, y, family="multinomial", type.multinomial="grouped")
我想知道是否有人之前遇到过这个问题,可能的原因是什么。