R语言入门:预测新的值

Candice
Candice
Candice
96
文章
0
评论
2020-04-1803:05:00 评论 2,728 648字
摘要

本文将介绍如何用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"参数可以得到置信区间。

End.

来源:数据分析网

  • 我的微信公众号
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: