如何将 R 数据框中的二进制变量转换为 0/1 格式?
二进制变量是一种只可以取两个可能值的变量类型,例如性别有两个类别(男性和女性),某个国家的国籍分为两个类别(是和否)等。如果二进制变量不是 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
广告