如何用R进行哑变量线性回归(案例+加法模型+乘法模型+混合模型完整版)
将性别x5作为虚拟变量引入回归方程,建立当前年薪y关于受教育年限x4和性别虚拟变量x5的线性回归模型。
- > dat
- y x1 x2 x3 x4 x5
- 1 29220 14010 98 115 15 f
- 2 29670 13260 98 26 8 m
- 3 136320 81240 96 199 19 m
- 4 111945 46260 96 120 19 m
- 5 24570 15510 95 46 12 m
- 6 36120 15810 93 8 16 f
- 7 41520 20760 92 168 17 m
- 8 32820 20010 90 205 12 f
- 9 25620 16260 90 191 15 m
- 10 32220 16260 88 252 12 m
- 11 28020 14760 88 38 12 m
- 12 26370 14010 87 123 16 f
- 13 28020 14760 86 367 12 m
- 14 70570 43740 85 134 20 m
- 15 33270 16260 85 438 8 m
- 16 27570 16860 85 171 8 m
- 17 18420 11460 85 72 12 f
- 18 25320 14010 85 59 15 f
- 19 21120 11460 83 75 8 f
- 20 41520 22260 81 3 16 m
- 21 26220 12510 81 0 12 f
- 22 24420 12510 81 13 12 f
- 23 35220 17760 79 94 12 m
- 24 48570 22500 74 45 16 m
- 25 27420 12810 74 2 12 f
- 26 60720 35010 74 272 12 m
- 27 19020 11460 72 184 8 f
- 28 37920 19260 71 12 16 f
- 29 25770 13710 69 12 12 f
- 30 26520 20010 68 344 8 f
- 31 31620 17010 68 155 8 m
- 32 36570 14760 67 6 15 m
- 33 22170 14760 67 181 12 f
- 34 87570 46260 66 50 18 m
- 35 71320 23010 65 19 16 m
- 36 27570 17010 64 69 12 m
- > str(dat)
- 'data.frame': 36 obs. of 6 variables:
- $ y : int 29220 29670 136320 111945 24570 36120 41520 32820 25620 32220 ...
- $ x1: int 14010 13260 81240 46260 15510 15810 20760 20010 16260 16260 ...
- $ x2: int 98 98 96 96 95 93 92 90 90 88 ...
- $ x3: int 115 26 199 120 46 8 168 205 191 252 ...
- $ x4: int 15 8 19 19 12 16 17 12 15 12 ...
- $ x5: Factor w/ 2 levels "m","f": 2 1 1 1 1 2 1 2 1 1 ...
思考了下,提供完整思路如下
1、加法模型
用relevel()函数,如
- dat$x5=relevel(dat$x5,ref="m")#将性别x5作为虚拟变量,以男性m作为参考水平,女性
- f
- fitlm=lm(y~x4+x5,data=dat) #建立y关于x4和x5的回归方程
- summary(fitlm) #输出回归结果
- Coefficients:
- Estimate Std. Error t value Pr(>|t|)
- (Intercept) -11556.0 13143.5 -0.879 0.3856
- x4 4434.4 915.5 4.844 2.92e-05 ***
- x5f -16840.5 6344.9 -2.654 0.0121 *
- ---
得到回归方程:
男性:y=-11556+4434.4x4
女性:y=-11556+4434.4x4-16840.5
其他模型,下载于:[程序分享] 如何用R进行哑变量线性回归(案例+加法模型+乘法模型+混合模型完整版).doc


雷达卡




京公网安备 11010802022788号







