【发布时间】:2013-06-13 19:04:01
【问题描述】:
根据以下值创建多项式线性模型:
y <- c(0.040, 0.073, 0.87)
x <- c(10.0, 15.0, 20.0)
poly.lm <- lm(y~poly(x,2))
当我尝试从生成的 x 序列中预测多个值时,我似乎无法从 predict() 函数中获得正确的预测数量。事实上,我得到的似乎只是predict(poly.lm) 的默认输出:
new <- seq(0,19,1.0)
predict(poly.lm, x=new)
在给定 20 个 x 值的序列的情况下,我不应该得到 20 个对 y 的预测吗?
【问题讨论】:
-
predict()需要一个 data.frame。试试predict(poly.lm, data.frame(x=new))。另见?predict.lm。 -
添加到上面,
x=new被读取为参数x函数predict(这里不做任何事情),你正在做的相当于predict(poly.lm),即预测您的样本内数据 -
@bdemarest 是的,成功了。谢谢大家!
-
另外,如果您想在答案中提出这个问题,我可以将其勾选为已解决。
-
长度(seq(0,20,1.0)) == 21
标签: r