R 为什么我总是得到;参数的长度为“0”;错误?
我试图在我的大数据集上运行套索回归,但我不断获得以下错误消息:R 为什么我总是得到;参数的长度为“0”;错误?,r,linear-regression,lasso-regression,R,Linear Regression,Lasso Regression,我试图在我的大数据集上运行套索回归,但我不断获得以下错误消息: **Error in if (is.null(np) | (np[2] <= 1)) stop("x should be a matrix with 2 or more columns") : argument is of length zero** **Error in elnet(x, is.sparse, ix, jx, y, weights, offset, type.gaussian,
**Error in if (is.null(np) | (np[2] <= 1)) stop("x should be a matrix with 2 or more columns") :
argument is of length zero**
**Error in elnet(x, is.sparse, ix, jx, y, weights, offset, type.gaussian, :
(list) object cannot be coerced to type 'double'**
或
删除“国家”,因为它是可能导致问题的分类数据
gaydata = subset(gaydata, select = -Country)
试图识别导致“参数长度为零”错误的原因
sapply(gaydata, is.null)
sapply(gaydata, is.factor)
sum(is.null(gaydata))
在我试图找到这个问题的解决方案的研究中,我发现空值、不正确的列名和因子变量问题通常会导致错误。但是,我的数据没有这些问题,所以我迷路了。我的数据是从中复制粘贴出来的,在统计学家的帮助下刚刚计算出来: 显然,我需要将数据集更改为矩阵
gaydata = as.matrix(gaydata)
并使用以下格式
lasso_0 = glmnet(y=gaydata[,2], x=gaydata[,-2])
请提供一个样本作为数据,而不是图片。将
dput()
应用于随机10行或前10行,例如dput(gaydata[1:10,])
并在此处共享输出。使用x=gaydata
方法时,请参阅参考资料,从x
以及国家/地区列中删除响应列glmnet(x=gaydata[-c(1,3)],y=gaydata$GTI,alpha=1)
。(也可以删除rank
)并且glmnet
没有公式方法,因此不起作用。
gaydata = subset(gaydata, select = -Country)
sapply(gaydata, is.null)
sapply(gaydata, is.factor)
sum(is.null(gaydata))
gaydata = as.matrix(gaydata)
lasso_0 = glmnet(y=gaydata[,2], x=gaydata[,-2])