Я пытаюсь написать функцию, которая регрессирует несколько элементов, а затем пытается предсказать данные на основе модели:
"tnt" <- function(train_dep, train_indep, test_dep, test_indep)
{
y <- train_dep
x <- train_indep
mod <- lm (y ~ x)
estimate <- predict(mod, data.frame(x=test_indep))
rmse <- sqrt(sum((test_dep-estimate)^2)/length(test_dep))
print(summary(mod))
print(paste("RMSE: ", rmse))
}
Если я пропущу вышесказанное, произойдет сбой:
train_dep = vector1
train_indep <- cbind(vector2, vector3)
test_dep = vector4
test_indep <- cbind(vector5, vector6)
tnt(train_dep, train_indep, test_dep, test_indep)
Изменение вышеуказанного на что-то вроде следующего работает, но я хочу, чтобы это делалось динамически, чтобы я мог передать ему матрицу из любого числа столбцов:
x1 = x[,1]
x2 = x[,2]
mod <- lm(y ~ x1+x2)
estimate <- predict(mod, data.frame(x1=test_indep[,1], x2=test_indep[,2]))
Похоже, это могло бы помочь, но яЯ все еще запутался в остальной части процесса: http://finzi.psych.upenn.edu/R/Rhelp02a/archive/70843.html