【发布时间】:2016-05-28 00:26:44
【问题描述】:
当我使用预测 glmnet 函数时,我得到代码下面提到的错误。
mydata <- read.csv("data.csv")
x <- mydata[,1:4]
y <- mydata[,5]
data <- cbind(x,y)
model <- model.matrix(y~., data=data)
ridgedata <- model[,-1]
train <- sample(1:dim(ridgedata)[1], round(0.8*dim(ridgedata)[1]))
test <- setdiff(1:dim(ridgedata)[1],train)
x_train <- data[train, ]
y_train <- data$y[train]
x_test <- data[test, ]
y_test <- data$y[test]
k=5
grid =10^seq(10,-2, length =100)
fit <- cv.glmnet(model,y,k=k,lambda = grid)
lambda_min <- fit$lambda.min
fit_test <- predict(fit, newx=x_test,s=lambda_min)
错误如下:
as.matrix(cbind2(1, newx) %*% nbeta)中的错误:评估错误 为函数“as.matrix”选择方法时的参数“x”:错误 在cbind2(1, newx) %*% nbeta:尚未实现的方法<data.frame> %*% <dgCMatrix>
我试过调试,但我不确定在哪里
as.matrix(cbind2(1, newx) %*% nbeta)
正在使用代码以及导致此错误的原因。
【问题讨论】:
-
试试
x_test <- as.matrix(data[test, ])? -
@BenBolker 遇到同样的错误
-
好的,那么我们需要一个reproducible example 请...
-
你能发布一个我不需要请求访问的版本,即完全开放的版本吗?更好的是,您能否创建一个独立的小型示例,该示例会产生相同的错误并且可以在此处发布?