Я программирую функцию для поиска оптимальной модели линейной регрессии для определенного набора данных. Я получаю сообщение об ошибке (R: wrapup:: 2: 0: неожиданный конец ввода), когда выполняется код «mod <- linearAdjust (dfTrain,« IM C », bestVars)». </p>
linearAdjust <- function(dfTrain, dfTest, y, x) {
mod <- lm(str_c(y, "~", x), dfTrain)
calcR2(dfTest, mod, "IMC")
}
encontrarMejorAjuste <- function(dfTrain, dfTest, varPos) {
bestVars <- character(0)
aR2 <- 0
repeat {
aR2v <- map_dbl(varPos, ~calcModR2(dfTrain, dfTest, "IMC", c(bestVars, .)))
i <- which.max(aR2v)
aR2M <- aR2v[i]
if (aR2M <= aR2) break
cat(sprintf("%1.4f %s\n", aR2M, varPos[i]))
aR2 <- aR2M
bestVars <- c(bestVars, varPos[i])
varPos <- varPos[-i]
}
mod <- linearAdjust(dfTrain, "IMC", bestVars)
list(vars=bestVars, mod=mod)
}
Есть идеи?
Спасибо.