banner

R语言入门秘录20/25:简单的线性回归

作者: afenxi来源: afenxi时间:2017-04-08 11:32:40

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

问题

有两个向量,x和y,其中是成对的观察:(x1, y1), (x2, y2), …, (xn, yn)。你觉得两者间有某种线性关系,想构建两者间的回归模型。

解决方案

用lm函数做线性回归,得到系数:

代码 1

 

2

3

4 > lm(y ~ x)

Call: lm(formula = y ~ x)

Coefficients:

(Intercept) 17.72 讨论

简单的线性回归涉及到两个变量:一个是预测(predictor)变量,通常称为x;另一个是响应(response)变量,通常称为y。回归会用常见的最小二乘算法拟合线性模型: yi = β0 + β1xi + εi 其中β0和β1是回归系数,εi表示误差。

lm函数可以实现线性回归。主要参数是模型公式,例如y ~ x。公式中波浪号(~)左侧的是响应变量,右侧是预测变量。函数会估计回归系数β0和β1,分别以截距(intercept)和x的系数表示:

代码 1

 

2

3 Coefficients:

(Intercept) x

17.72        3.25

这个例子中得到的回归等式就是:yi = 17.72 + 3.25xi + εi。

数据经常会放在数据框中,这就需要对数据框中的两列数据做回归。这里,x和y是数据框dfrm中的两列数据:

代码 1

 

2

3

4

5

6

7

8

9

10

11

12

13

14 > dfrm x y

1 0.04781401 5.406651

2 1.90857986 19.941568

3 2.79987246 23.922613

4 4.46755305 32.432904

5 3.76490363 44.259268

6 5.92364632 61.151480

7 8.04611587 26.305505

8 7.11097986 43.606087

9 9.73645966 58.262112

10 9.19324543 57.631029

.

. (etc.)

.

在lm函数中可以用data参数指定数据框。如果设置了数据狂,lm函数就会从指定的数据框中取数据,而不是工作空间:

代码 1

 

2

3

4

5

6

7 > lm(y ~ x, data=dfrm)

Call:

lm(formula = y~ x, data=dfrm)

 

Coefficients:

(Intercept) x

17.72      3.25

banner
看过还想看
可能还想看
最新文章
Yonghong Z-Suite一站式大数据分析平台 —— 以卓越的数据技术为客户创造价值,实现客户成功。