是否有人知道我如何在线性回归(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)
从下面的输出中可以看出,Sedan正确省略,因此参考水平。但是,我想在不创建新对象和完成虚拟变量过程的情况下组合多个级别。
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