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