1

有谁知道我如何在线性回归(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
4

0 回答 0