13

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

是什么导致了这个错误?

4

2 回答 2

2

我有同样的问题,但发现解决方案是 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)
于 2017-02-20T17:58:44.497 回答
0

在上下文中glmnet(x,y)的变量y应该是一个向量。

在您的示例中,您可以使用以下方法实现此目的:

glmnet(seq.trans, as.vector(rsem.trans))
于 2015-12-17T02:35:00.140 回答