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])