我有一个矢量(实际上是数据框的一列),如下所示:
data$outcome
[1] Good Good Good Good Poor
Levels: Good Poor
以下是str
:
str(data$outcome)
Factor w/ 2 levels "Good","Poor": 1 1 1 1 2
我不希望as.numeric(data$outcome)
[1] 1 1 1 1 2
我知道你不应该为回归“手动”虚拟编码变量,我知道{psych} dummy.code()
,它返回一个矩阵。我知道我可以在data.frame上使用类似model.matrix()
的内容:
data$outcome <- model.matrix(lm(s100b ~ outcome, data))[,2]
不太好......
在R的某处是不是有dummify(data$outcomes)
之类的东西?请不要轻易开玩笑......
答案 0 :(得分:2)
我稍微喜欢
data$isGood <- as.numeric(data$outcome == 'Good')
因为它更明确/更不透明,即使有人为该因素添加了一个新级别'Awesome',它仍然可以工作。