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 @ 2022-01-21 12:29  小鲨鱼2018  阅读(451)  评论(0编辑  收藏  举报