将二进制变量更改为是/否

时间:2014-01-06 01:33:49

标签: r binary regression

所以我有一个我想分析的数据框。问题在于,数据框中有一堆1和0(1为是,0为否),而不是是/否。我如何修改数据框以使其成为如此而不是1和0有Yes和No所以我可以使用逻辑回归?我确信有一个简单的解决办法,我不会想到

谢谢!

4 个答案:

答案 0 :(得分:6)

使用?factor

参见此示例

> set.seed(1)
> dummyVariable <- sample(c(0,1), 10, TRUE)  # bunch of 0 and 1
> newVariable <- factor(dummyVariable, levels=c(0,1), labels=c("No", "Yes"))
> newVariable  # this is now a dummy variable ready for regression analysis
 [1] No  No  Yes Yes No  Yes Yes Yes Yes No 
Levels: No Yes

答案 1 :(得分:2)

您也可以使用您的值作为c('no','yes')向量的索引,加上1,因为您的值从0开始。

如果有两个以上的值,这很容易推广,ifelse无法正常使用:

c('no','yes')[df$col+1]

factor(c('no','yes')[df$col+1],c('no','yes'))

答案 2 :(得分:1)

另一种获取因素的方法:

factor(ifelse(dummyVariable, 'Yes', 'No'))

答案 3 :(得分:0)

尝试使用gsub

dummyVariable<-gsub(0,"No",dummyVariable)
dummyVariable<-gsub(1,"Yes",dummyVariable)
dummyVariable
# [1] "No"  "No"  "Yes" "Yes" "No"  "Yes" "Yes" "Yes" "Yes" "No"