如何將 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
廣告