R中虚拟变量的回归

Regression of dummy variables in R

我是 R 的新手,我正在尝试对我的数据集执行回归,其中包括例如某公司在不同国家多年的月度销售数据。

在其他统计程序中,为了控制销售的季度周期性变动以及区域(国家)差异,我会创建虚拟变量来指示例如进行销售的地区和国家。

我的问题:

1) 我看到在 R 中你可以将变量类型设置为 'Factor'。 在这种情况下,我是否仍需要创建指示国家和 months/quarters 的虚拟变量,或者 R 是否已经以不同方式处理因子变量并在后台自动将它们转换为虚拟变量?

2) 如果不是上述情况,并且我确实需要将我的值重新编码为 0,1 虚拟值,那么 R 中是否有一种简洁的标准方法来做到这一点?

非常感谢您的帮助,祝您有愉快的一天!

Trgovec

是的,R 会自动将因子变量视为参考虚拟变量,因此您无需执行任何其他操作,如果您 运行 进行回归,您应该会看到这些因子的虚拟变量的典型输出。

但是请注意,有多种编码分类变量的方法,因此您可能想使用 C 函数做一些不同的事情。你可以找到很好的细节here. Also, there are packages devoted to help you in the creation of dummy variables if you need more control, such as the dummies包。

R 会根据您的公式自动创建相应的设计 model.matrix(),例如:

lm(mpg ~ factor(gear) + I(cyl > 4), data = mtcars)

如果您想自己制作假人,请查看 model.matrix()

model.matrix(~ - 1 + factor(gear), data = mtcars)

                    factor(gear)3 factor(gear)4 factor(gear)5
Mazda RX4                       0             1             0
Mazda RX4 Wag                   0             1             0
Datsun 710                      0             1             0
Hornet 4 Drive                  1             0             0
Hornet Sportabout               1             0             0
Valiant                         1             0             0