【问题标题】:Regression of dummy variables in RR中虚拟变量的回归
【发布时间】:2018-01-20 21:46:08
【问题描述】:

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

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

我的问题:

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

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

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

Trgovec

【问题讨论】:

  • 在读取数据或创建数据框时使用 stringsAsFactors = TRUE,以便将非数字列转换为因子。您必须将因子转换为虚拟变量,例如,请参阅 here
  • @Iampros 当您说必须将因子转换为虚拟变量时,您到底是什么意思。因为对于 R 中的大多数情况,这基本上与事实相反。
  • @Dason,我最初从这个问题中了解到的是如何转换为虚拟变量的因素。所以,“你必须转换......”应该变成“如果你必须转换......”。我误会了。

标签: r regression dummy-variable


【解决方案1】:

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

但请注意,有多种编码分类变量的方法,因此您可能希望使用 C 函数做一些不同的事情。你可以找到很好的细节here。此外,如果您需要更多控制权,也有专门用于帮助您创建虚拟变量的包,例如 dummies 包。

【讨论】:

  • 非常感谢 Oriol!
【解决方案2】:

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

【讨论】:

  • 非常感谢 J.R.!
猜你喜欢
  • 2015-01-03
  • 2018-03-29
  • 1970-01-01
  • 2020-11-25
  • 1970-01-01
  • 1970-01-01
  • 2018-09-21
  • 1970-01-01
  • 2012-12-05
相关资源
最近更新 更多