我有一个模型对象,我想用它来预测作为列表存储的新数据的数量(例如5)的值。所有数据都具有相同的长度并包含相同的三个预测变量。最后,我希望将预测值存储为矩阵或列表,其具有与我在预测中使用的数据集(例如5)一样多的列(或元素)。
作为R编程的新手,我还没有想出任何解决这个问题的方法。
答案 0 :(得分:1)
这是您的问题的简单示例: 首先,让我们生成一些数据并制作一个模型对象,例如线性模型:
training <- data.frame(y=rnorm(10), x1=rnorm(10), x2=rnorm(10))
model <- lm(y~., data=training)
然后,让我们在列表中生成预测数据:
testing <- list()
for (i in 1:5){
testing[[i]] <- data.frame(x1=rnorm(10), x2=rnorm(10))
}
最后,对列表中的每个新数据应用带lapply
的预测函数,只需取消列表预测&#39;列表到矩阵:
predictions <- lapply(testing, function(x){predict(model, newdata=x)})
predictions_matrix <- matrix(unlist(predictions), nrow=5)