如何将 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+ 次浏览

开始你的 职业生涯

通过完成课程获得认证

开始学习
广告