Я пытаюсь сделать для l oop вот так:
data(iris)
predict1 <- function(value, model){
y = model$coefficients[1] + (model$coefficients[-1]%*% value)
return (y)
}
predict2 <- function(values, model){
y = model$coefficients[1] + (model$coefficients[-1]%*% values)
return (y)
}
for (i in 1:n){
iris1 <- iris[sample(1:nrow(iris), 50, replace = TRUE),]
model1[[i]] <- lm(Sepal.Length ~ Sepal.Width, data=iris1)
model2[[i]] <- lm(Sepal.Length ~ Sepal.Width + Petal.Length + Petal.Width, data=iris1)
predictions1 <- predict1(iris1$Sepal.Width[[i]], model1[[i]])
values <- c(iris1$Sepal.Width, iris1$Petal.Length, iris1$Petal.Width)
predictions2 <- predict2(values[[i]], model2[[i]])
}
Но я получаю следующую ошибку:
Error in model$coefficients[-1] %*% values : non-conformable arguments
Если я заполняю последние два линий, это работает:
values <- c(0, 0.5, 3)
predictions2 <- predict2(values, model2[[i]])
Любая помощь будет полезна в выяснении, как превратить структуру c (iris1 $ Sepal.Width, iris1 $ Petal.Length, iris1 $ Petal.Width) в нечто вроде c (0, 0,5, 3).