免费试用
banner

R语言入门秘录24/25:预测新的值

作者: afenxi来源: afenxi时间:2017-03-05 19:49:320

摘要:数据分析网整理自tbkken的《R语言入门25招》,一招招技能带你走进R语言。

问题

根据所得到的回归模型预测新的值。

解决方案

将要用于预测的数据保存到数据框中。用predict函数,将newdata参数设为这个数据框:

> m <- lm(y ~ u + v + w) > preds <- data.frame(u=3.1, v=4.0, w=5.5) > predict(m, newdata=preds) 讨论

有了线性模型,就可以很方便地做预测,predict函数会搞定所有的麻烦。唯一的麻烦就是要把你的数据整到数据框中去。 predict函数会返回一个预测值的向量,数据中每一行都会有一个相应的预测值。 解决方案中的例子只有一行,所以只有一个返回值:

> preds <- data.frame(u=3.1, v=4.0, w=5.5) > predict(m, newdata=preds) 1 12.31374

如果预测数据有多行,就会为没一行数据返回一个预测值:

> preds <- data.frame( + u=c(3.0, 3.1, 3.2, 3.3), + v=c(3.9, 4.0, 4.1, 4.2), + w=c(5.3, 5.5, 5.7, 5.9) ) > predict(m, newdata=preds) 1 2 3 4 11.97277 12.31374 12.65472 12.99569

在这里要说明一下,新的数据中不需要有响应变量,只要有预测变量即可。因为响应变量正是你要计算的值,所以并不是输入数据中所必须的。

扩展阅读

这里的预测只是点估计。用predict的interval=”prediction”参数可以得到置信区间。

banner
看过还想看
可能还想看
热点推荐
Yonghong的价值观:以卓越的数据技术为客户创造价值,实现客户成功。
免费试用