二进制变量是一类变量,它只能采用两个可能的值,例如性别具有两个类别的男性和女性,一个国家的公民身份,具有两个类别,是和否,等等。如果二进制变量的格式不是0/1然后可以在ifelse函数的帮助下进行转换。查看以下示例以了解其工作原理。
考虑以下数据帧-
Temp<-sample(c("Hot","Cold"),20,replace=TRUE) Response<-rnorm(20,25,3.2) df1<-data.frame(Temp,Response) df1输出结果
Temp Response 1 Cold 26.02542 2 Cold 22.39046 3 Hot 24.84536 4 Cold 25.64836 5 Hot 28.29392 6 Cold 27.58198 7 Hot 23.77825 8 Cold 30.17105 9 Cold 27.08661 10 Cold 36.36730 11 Hot 24.73742 12 Cold 23.43371 13 Hot 23.72180 14 Cold 19.81232 15 Hot 24.45042 16 Cold 30.39320 17 Cold 21.23361 18 Hot 25.21617 19 Cold 23.20461 20 Cold 25.22150
将df1的Temp列转换为0/1格式-
df1$Temp<-ifelse(df1$Temp=="Cold",1,0) df1输出结果
Temp Response 1 1 26.02542 2 1 22.39046 3 0 24.84536 4 1 25.64836 5 0 28.29392 6 1 27.58198 7 0 23.77825 8 1 30.17105 9 1 27.08661 10 1 36.36730 11 0 24.73742 12 1 23.43371 13 0 23.72180 14 1 19.81232 15 0 24.45042 16 1 30.39320 17 1 21.23361 18 0 25.21617 19 1 23.20461 20 1 25.22150