r建模包处理与无序因素相同的角色变量



i具有类别列的分类变量。例如,一个值列的字符列都是"是"或"否"。R建模软件包是否会正确处理它们作为标称分类变量,即使我将其作为字符列离开,或者这些软件包要求它们是无序的因素?

每个函数都可以自由执行想要的操作,但是如果该功能使用model.matrix,则将其视为因素。

2级

x2 <- c("yes", "no", "yes")
model.matrix(~ x2)

给予:

  (Intercept) xyes
1           1    1
2           1    0
3           1    1
attr(,"assign")
[1] 0 1
attr(,"contrasts")
attr(,"contrasts")$x
[1] "contr.treatment"

3级

x3 <- letters[1:3]
model.matrix(~ x3)

给予:

  (Intercept) xxb xxc
1           1   0   0
2           1   1   0
3           1   0   1
attr(,"assign")
[1] 0 1 1
attr(,"contrasts")
attr(,"contrasts")$xx
[1] "contr.treatment"

跟进 @gaborgrothendieck的答案:答案是"通常是",因为大多数统计建模软件包都使用model.matrix()来处理各种类型的预测指标,交互等。

也就是说,明确转换为因素,以便您控制/知道发生了什么,这可能是最好的做法。缺点是什么?明确转换为因素也允许您控制级别,对比度等的顺序。

最新更新