Excel R 的虚拟变量

Excel Dummy Variable for R

希望这个问题没有跑题。 我知道如何在 R 中编写虚拟变量,但是,我想知道我是否可以在 excel 中创建它。可以说我在颜色变量下有 3 种颜色(红色、蓝色、黄色)列表。 R 会将其导入为具有 3 个级别的因素。

现在,如果我想在 excel 中执行此操作,我可以制作 3 个新的预测变量(而不是颜色,它们现在变成红色、蓝色和黄色)并在红色列中放置一个 1(如果它是红色的)否则为 0 等等?或者 R 会继续将其解释为 3 个单独的因素,每个因素有 2 个水平吗?

所以您要在 excel 中手动创建三个虚拟列,并想将它们导入 R?如果您以后将这些列作为数字而不是因子导入,就不会有问题。

好吧,我还是要提醒你,R 可以通过 model.matrix() 将因子编码为虚拟变量。所以永远不需要自己做这件事。 "red"、"blue" 和 "yellow" 在 excel 中使用单个列并作为因子导出到 R 中绝对可以。

colour <- gl(3,2,labels=c("red","blue","yellow"))
model.matrix(~ colour - 1)
#  colourred colourblue colouryellow
#1         1          0            0
#2         1          0            0
#3         0          1            0
#4         0          1            0
#5         0          0            1
#6         0          0            1

Just another quick question. Using the model.matrix for factor colour and other factor variables - how can I incorporate this into my model? When I call a linear model (for example) lm(response ~ predictor.1 + predictor.2 + colour) will it automatically call the dummy variables or do I need to assign the model.matrix to a vector?

model.matrix是一个服务例程,针对lmglm等模型拟合例程,用户可以简单地使用一个公式,然后在后台构建模型矩阵.因此,您甚至不需要自己获取模型矩阵。

对于高级用户,有时他可能想使用内部拟合例程lm.fit甚至.lm.fit。阅读 ?lm.fit 以了解这些例程。这些例程不接受模型公式,但接受模型矩阵 X 和响应向量 y。在这种情况下,用户完全负责自己生成 Xy