有谁知道我如何在线性回归(lm)中使用相同的重新调平方法,以便将几个分类级别组合为参考单元格。就我而言,我的汽车类型分类变量具有 Coupe、Convertable、Wagon、Sedan 和 Hatchback 级别。换句话说,我想运行一个回归模型,结合参考水平 Hacthback、Coupe、Sedan 和 Wagon,而不在新列中创建新的虚拟变量。
下面的代码有效,但仅使用一个参考级别。当我尝试组合级别(“轿车”+“旅行车”)并运行线性回归时它不起作用,它只保留第一个列为唯一参考级别。
gm$Type = relevel(gm$Type, ref="Sedan")
lm2 <- lm(gm$Price ~ gm$Mileage + gm$Liter + gm$Type)
summary(lm2)
从下面的输出中可以看出,轿车是正确的,因此是参考水平。但是,我想在不创建新对象和通过虚拟变量过程的情况下组合多个级别。
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 8.617e+03 8.703e+02 9.901 < 2e-16 ***
gm$Mileage -1.848e-01 2.605e-02 -7.097 2.82e-12 ***
gm$Liter 5.092e+03 2.020e+02 25.210 < 2e-16 ***
gm$TypeConvertible 1.914e+04 8.980e+02 21.309 < 2e-16 ***
gm$TypeCoupe -3.260e+03 5.791e+02 -5.629 2.51e-08 ***
gm$TypeHatchback -3.902e+03 8.358e+02 -4.669 3.56e-06 ***
gm$TypeWagon 7.465e+03 8.326e+02 8.966 < 2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 6042 on 797 degrees of freedom
Multiple R-squared: 0.6291, Adjusted R-squared: 0.6263
F-statistic: 225.3 on 6 and 797 DF, p-value: < 2.2e-16