我正在使用ML_Hackers_for_masters第6章文本回归中的示例并使用书中提供的代码,但是当我运行下面给出的代码时
ranks <- read.csv(file.path( 'oreilly.csv'),stringsAsFactors = FALSE)
set.seed(1)
library('glmnet')
performance <- data.frame()
for (lambda in c(0.1, 0.25, 0.5, 1, 2, 5)) {
for (i in 1:50) {
indices <- sample(1:100, 80)
training.x <- x[indices,]
training.y <- y[indices]
test.x <- x[-indices,]
test.y <- y[-indices]
glm.fit <- glmnet(training.x, training.y)
predicted.y <- predict(glm.fit, test.x, s = lambda)
rmse <- sqrt(mean((predicted.y - test.y) ^ 2))
performance <- rbind(performance, data.frame(Lambda = lambda, Iteration = i, RMSE = rmse))
}
}
x [indices,]中的错误:维数不正确
请建议我如何删除此错误。在此先感谢
答案 0 :(得分:0)
从你的代码中,我无法理解什么是x。请检查x的尺寸。 错误消息基本上意味着x是一个向量或类似的东西。我可以使用下面的代码重现错误。
x <- c(1:100)
ind <- sample(1:100, 80)
x[ind,]
Error in x[ind, ] : incorrect number of dimensions
从这段代码你可以理解,因为x是一个向量,我试图对它应用矩阵运算,因此错误。
希望这会有所帮助。