我这里有一个示例数据集。
train<-data.frame(x1 = c(4,5,6,4,3,5), x2 = c(4,2,4,0,5,4), x3 = c(1,1,1,0,0,1),
x4 = c(1,0,1,1,0,0), x5 = c(0,0,0,1,1,1))
假设我想基于列
x1
和 x2
来创建与列 x3
、x4
和 x5
相对应的独立模型。例如:lm1 <- lm(x3 ~ x1 + x2)
lm2 <- lm(x4 ~ x1 + x2)
lm3 <- lm(x5 ~ x1 + x2)
我希望能够使用“预测”将这些模型应用于测试集,并创建一个矩阵,其中每个模型的结果作为一列。请保留HTML标记。
test <- data.frame(x1 = c(4,3,2,1,5,6), x2 = c(4,2,1,6,8,5))
p1 <- predict(lm1, newdata = test)
p2 <- predict(lm2, newdata = test)
p3 <- predict(lm3, newdata = test)
final <- cbind(p1, p2, p3)
这是一个简化版本,您可以一步一步地完成,实际数据远远超过这个规模。是否有一种方法可以创建一个函数或使用for语句将其合并为一两个步骤?