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

猜你喜欢