我希望这个问题不是题目。 我知道如何在R中编写一个虚拟变量,但是,我想知道是否可以在Excel中创建它。比方说,我有一个颜色变量下的3种颜色(红色,蓝色,黄色)列表。 R会将其作为3个级别的因素导入。Excel虚拟变量R
现在,如果我想在Excel中做到这一点,我可以做出3个新的预测变量(而不是颜色,现在变成红色,蓝色和黄色),如果它是红色,则置1红色,否则为0上?或者R会继续将其解释为3个独立因素,每个因素有2个等级?
我希望这个问题不是题目。 我知道如何在R中编写一个虚拟变量,但是,我想知道是否可以在Excel中创建它。比方说,我有一个颜色变量下的3种颜色(红色,蓝色,黄色)列表。 R会将其作为3个级别的因素导入。Excel虚拟变量R
现在,如果我想在Excel中做到这一点,我可以做出3个新的预测变量(而不是颜色,现在变成红色,蓝色和黄色),如果它是红色,则置1红色,否则为0上?或者R会继续将其解释为3个独立因素,每个因素有2个等级?
因此,您在Excel中手动创建三个虚拟列,并且想要将它们导入到R中?如果您稍后将这些列导入为数字而不是因子,则不会有任何问题。
那么,我还是要提醒你R可以通过model.matrix()
将因子编码为虚拟变量。所以从来没有必要自己做这件事。在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
又一个快速的问题。使用因子颜色和其他因子变量使用
model.matrix
- 我怎样才能将其纳入我的模型?当我调用线性模型(例如)lm(response ~ predictor.1 + predictor.2 + colour)
时,它会自动调用虚拟变量还是需要将model.matrix分配给矢量?
model.matrix
是一个服务例程,用于模型拟合例程像lm
,glm
等。用户可以简单地使用一个公式,则模型矩阵将幕后来构造。所以,你甚至不需要自己获得一个模型矩阵。
对于高级用户,有时他可能想要使用内部拟合例程lm.fit
或甚至.lm.fit
。阅读?lm.fit
这些例程。这些程序不接受模型公式,而是模型矩阵X
和响应矢量y
。在这种情况下,用户自行负责生成X
和y
。
@ZheyuanLi所以你的意思是把它们导入为'df $ red < - as.numeric(df $ red)'或者类似 – Danib90