R语言中求两组数据的回归系数

1、

复制代码
> dat1 <- c(1, 2, 3, 4, 5, 6)   ## 测试数据
> dat2 <- c(1, 2, 3, 4, 5, 6)   ## 测试数据
> lm(dat2~dat1)

Call:
lm(formula = dat2 ~ dat1)

Coefficients:
(Intercept)         dat1  
          0            1  

> coef(lm(dat2~dat1))[[2]]     ## 回归系数为1
[1] 1
复制代码

 

2、

复制代码
> dat1 <- c(1, 2, 3, 4, 5, 6)   ## 测试数据
> dat2 <- c(2, 3, 4, 5, 6, 7)   ## 同时增加1
> lm(dat2~dat1)

Call:
lm(formula = dat2 ~ dat1)

Coefficients:
(Intercept)         dat1  
          1            1  

> coef(lm(dat2~dat1))[[2]]   ## 回归系数为1
[1] 1
复制代码

 

 

3、

复制代码
> dat1 <- c(1, 2, 3, 4, 5, 6)
> dat2 <- c(4, 5, 6, 7, 8, 9)   ## 同时增加3
> lm(dat2~dat1)

Call:
lm(formula = dat2 ~ dat1)

Coefficients:
(Intercept)         dat1  
          3            1  

> coef(lm(dat2~dat1))[[2]]    ## 回归系数仍为1
[1] 1
复制代码

 

4、

复制代码
> dat1 <- c(1, 2, 3, 4, 5, 6)
> dat2 <- c(-9, -8, -7, -6, -5, -4)   ## 同时减去10
> lm(dat2~dat1)

Call:
lm(formula = dat2 ~ dat1)

Coefficients:
(Intercept)         dat1  
        -10            1  

> coef(lm(dat2~dat1))[[2]]           ## 回归系数仍为1
[1] 1
复制代码

说明一组数据同时增加或者减效相同的数值, 回归系数不变。

 

5、

复制代码
> dat1 <- c(1, 2, 3, 4, 5, 6)
> dat2 <- c(10, 20, 30, 40, 50, 60)   ## 扩大10倍
> lm(dat2~dat1)

Call:
lm(formula = dat2 ~ dat1)

Coefficients:
(Intercept)         dat1  
  5.802e-15    1.000e+01  

> coef(lm(dat2~dat1))[[2]]          ## 回归系数扩大10倍
[1] 10
复制代码

 

6、

复制代码
> dat1 <- c(1, 2, 3, 4, 5, 6)
> dat2 <- c(0.1, 0.2, 0.3, 0.4, 0.5, 0.6)    ## 缩小10倍
> lm(dat2~dat1)

Call:
lm(formula = dat2 ~ dat1)

Coefficients:
(Intercept)         dat1  
   1.36e-16     1.00e-01  

> coef(lm(dat2~dat1))[[2]]            ## 回归系数缩小10倍
[1] 0.1
复制代码

 

7、

复制代码
> dat1 <- c(1, 2, 3, 4, 5, 6)
> dat2 <- c(0, 1, 2, 5, 6, 7)   ## 前三个数同时减一, 后三个数同时加一
> lm(dat2~dat1)

Call:
lm(formula = dat2 ~ dat1)

Coefficients:
(Intercept)         dat1  
     -1.800        1.514  

> coef(lm(dat2~dat1))[[2]]    ## 回归系数为1.51
[1] 1.514286
复制代码

 

8、

复制代码
> dat1 <- c(1, 2, 3, 4, 5, 6)
> dat2 <- c(-1, 0, 1, 6, 7, 8)   ## 前三个数字同时减2, 后三个数字同时加2
> lm(dat2~dat1)

Call:
lm(formula = dat2 ~ dat1)

Coefficients:
(Intercept)         dat1  
     -3.600        2.029  

> coef(lm(dat2~dat1))[[2]]      ## 回归系数为2.028
[1] 2.028571
复制代码

 

回归系数: 反映一组数据与原始数据一一对应的差异程度, 同时递增、递减相同的量,回归系数不变, 同时扩大或缩小相同倍数,回归系数增加或减少相同的倍数。

不同一一对应则之间差异变化方向增加, 回归系数增大。

 

posted @   小鲨鱼2018  阅读(483)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示