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

更新於:10-2 月-2021

7K+ 次瀏覽

開始你的 職業生涯

透過完成課程獲得認證

開始學習
廣告