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