我在使用R中的包glmnet
时遇到问题。我正在尝试使用它现成的,并且遇到以下问题:
test <- glmnet(seq.trans,rsem.trans)
weighted.mean.default(y,权重)出错: 'x'和'w'必须具有相同的长度
但输入大小相同:
dim(seq.trans)
# [1] 28 17763
dim(rsem.trans)
# [1] 28 17763
导致此错误的原因是什么?
答案 0 :(得分:2)
我有同样的问题,但发现解决方案是X和y都应该是矩阵。我在没有as.matrix
函数的情况下运行下面的代码并得到相同的错误。然后我尝试了这个并且它有效。另请参阅this tutorial中的示例,加载应该包中的数据,您将看到第一个示例中的x和y都是矩阵。
library(glmnet)
library(dplyr)
X <- as.matrix(select(mtcars, -mpg))
y <- as.matrix(select(mtcars, mpg))
fit <- glmnet(X, y)
答案 1 :(得分:0)
在glmnet(x,y)
的上下文中,变量y
应该是一个向量。
在您的示例中,您可以使用以下方法实现此目的:
glmnet(seq.trans, as.vector(rsem.trans))