В следующем коде я пытаюсь создать матрицу, которая будет списком с opt.lam для каждого города. После запуска цикла первые два города всегда работают, а затем я получаю сообщение об ошибке для любых городов после этого.Ошибка в `[<-` (` * tmp * `,, подстрочный индекс за пределами индекса за пределами
Это ошибка, которую я получаю. (Coefmatrix отлично работает, это просто ошибка, вызывающая эту ошибку) .
Ошибка в [<-
(*tmp*
,, I, значение = с (0,577199381062121, 0.577199381062121, : индекс из границ
Вот мой код:
lambdamatrix <- matrix(nrow=n,ncol=2)
rownames(lambdamatrix) <- cityIDs
colnames(lambdamatrix) <- c("lambda.min","lambda.1se")
for (i in 1:n) {
data <- subset(simdata, city==cityIDs[i])
x <- as.matrix(data.frame(data[,3:24]))
cvfit <- cv.glmnet(x, data$Y, family="poisson", offset=log(data$population))
opt.lam <- c(cvfit$lambda.min, cvfit$lambda.1se)
fit <- glmnet(x, data$Y, family= "poisson", offset=log(data$population))
abline(plot(fit, "lambda", label= TRUE,
main = cityIDs[i]), v=log(opt.lam), lty=2, lwd=3,
col=c("red","dark green"))
coefmatrix[,i] <- coef(fit, s=opt.lam[1])[1:23]
lambdamatrix[,i] <- c(cvfit$lambda.min, cvfit$lambda.1se)[1:n]
}`
Спасибо! Это сработало. – Izzinator