我有一个包含2列,我用作为参数以产生一系列线性模型的如下一个数据帧dfab
:如何使用R中列表中存储的模型进行预测?
models = list()
for (i in 1:10){
models[[i]] = lm(fc_ab10 ~ (poly(nUs_ab, i)), data = dfab)
}
dfab有32个观察结果,我想预测fc_ab10只有1值。
我想这样做的:
newdf = data.frame(newdf = nUs_ab)
newdf[] = 0
newdf[1,1] = 56
prediction = predict(models[[1]], newdata = newdf)
首先,我试着写newdf作为一个数据帧只有一个位置,但由于在该模型建立的数据集是32,我想我不得不至少提供32分。尽管如此,我不认为这是必要的。
我每次运行这段代码,我给出以下错误:
Error: variable 'poly(nUs_ab, i) was fitted with type “nmatrix.1” but type “numeric” was supplied. In addition: Warning message: In Z/rep(sqrt(norm2[-1L]), each = length(x)) : longer object length is not a multiple of shorter object length
我想我需要使用预测是在栏柱赋予了LM模型,预测(数量56)命名数据框。很明显,我错了。
我该如何解决这个问题?
谢谢。
这将是更容易帮助你,如果你提供的[重复的例子(https://stackoverflow.com/questions/5963269/how-to-make-a-great- r-reproducible-example)与样本输入数据,因此我们可以运行并验证问题并测试可能的解决方案。 – MrFlick