Я относительно новичок в R; это мой первый пост о переполнении стека. Для этого должно быть простое решение, но я не смог понять это.
Код R в «A» ниже создает вектор из 9 интересующих моделей, которые я хотел бы пройти через 10-кратную перекрестную проверку (если это поможет, модели находятся в нижней части этого поста). Я хотел бы запустить этот код ...
modelList <- read.csv("/Users/XX/Desktop/Academic/XX/XX/R/Core_Files/models.csv",header=F)$V1
set.seed(17)
cv.error.9=rep(NA,9)
for(i in modelList){
cv.error.9[i]=cv.glm(collapsed_Y,eval(parse(text=paste("Mod",i,sep=""))),K=10)$delta[1]
}
cv.error.9
... (или что-то в этом роде) и заменить 'NA' в строке cv.error.9 [i] на CV. ошибки, соответствующие модели «я». Я хотел бы следующую таблицу в качестве моего вывода.
x
1 2.734539
2 2.710424
3 2.760761
4 2.564147
5 2.583432
6 2.681044
7 2.583303
8 2.570110
9 2.635983
К сожалению, код в «A» не заменяет строки cv.error.9 [i], а скорее добавляет частоту ошибок тестирования в конец вектора cv.error.9, как показано здесь :
x
1 0.000000
2 0.000000
3 0.000000
4 0.000000
5 0.000000
6 0.000000
7 0.000000
8 0.000000
9 0.000000
10 2.734539
11 2.710424
12 2.760761
13 2.564147
14 2.583432
15 2.681044
16 2.583303
17 2.570110
18 2.635983
Showing 1 to 18 of 18 entries, 1 total columns
Любая помощь с этим будет оценена. Большое спасибо заранее.
Модели:
print(modelList)
[1] <- glm(y ~ X1 + X2 + X3 + X4 + X5 + X6, family=gaussian, data=collapsed_Y)
[2] <- glm(y ~ X1 + X2 + X3 + X4 + X5 + X6 + X7 , family=gaussian, data=collapsed_Y)
[3] <- glm(y ~ X1 + X2 + X3 + X4 + X5 + X6 + X7 + X4*X5, family=gaussian, data= collapsed_Y)
[4] <- glm(y ~ X1 + X2 + X3 + X4 + X5 + X6, family=poisson, data= collapsed_Y)
[5] <- glm(y ~ X1 + X2 + X3 + X4 + X5 + X6 + X7, family=poisson, data= collapsed_Y)
[6] <- glm(y ~ X1 + X2 + X3 + X4 + X5 + X6 + X7 + X4*X5, family=poisson, data= collapsed_Y)
[7] <- glm.nb(y ~ X1 + X2 + X3 + X4 + X5 + X6, data= collapsed_Y)
[8] <- glm.nb(y ~ X1 + X2 + X3 + X4 + X5 + X6 + X7, data= collapsed_Y)
[9] <- glm.nb(y ~ X1 + X2 + X3 + X4 + X5 + X6 + X7 + X4*X5, data= collapsed_Y)
9 Levels: <- glm.nb(y ~ X1 + X2 + X3 + X4 + X5 + X6 + X7 + X4*X5, data= collapsed_Y) ...