如何在 R 数据帧列中将代码“是”更改为 1?


若要将代码“是”更改为 1,我们可以使用 ifelse 函数,并将“是”设置为 1,其他设置为 0。例如,如果我们有一个名为 df 的数据帧,其中包含具有“是”和“否”值的字符列 x,那么我们可以使用以下命令将这些值转换为 1 和 0:ifelse(df$x=="Yes",1,0)。

示例 1

考虑以下数据帧 −

 现场演示

Agree<-sample(c("Yes","No"),20,replace=TRUE)
x<-rpois(20,5)
df1<-data.frame(Agree,x)
df1

输出

  Agree x
1  No   6
2  No   4
3  Yes  5
4  No   9
5  No   4
6  No   0
7  Yes  4
8  No   5
9  No   6
10 No   5
11 No   6
12 No   2
13 No   6
14 No   2
15 Yes  3
16 Yes  9
17 No   3
18 Yes  3
19 No   0
20 Yes  7

在 df1 中将“是”转换为 1,将“否”转换为 0 −

df1$Agree<-ifelse(df1$Agree=="Yes",1,0)
df1
  Agree x
1  0    6
2  0    4
3  1    5
4  0    9
5  0    4
6  0    0
7  1    4
8  0    5
9  0    6
10 0    5
11 0    6
12 0    2
13 0    6
14 0    2
15 1    3
16 1    9
17 0    3
18 1    3
19 0    0
20 1    7

示例 2

 现场演示

Approved<-sample(c("Yes","No"),20,replace=TRUE)
y<-rnorm(20,30,2.4)
df2<-data.frame(Approved,y)
df2

输出

   Approved   y
1  Yes     33.17910
2  No      31.69268
3  Yes     30.96484
4  Yes     34.12339
5  Yes     30.84079
6  No      27.57933
7  Yes     29.13050
8  No      32.55457
9  Yes     34.39399
10 No      30.22306
11 Yes     29.65322
12 Yes     29.42060
13 Yes     30.75312
14 No      32.25545
15 Yes     27.54001
16 No      25.93290
17 No      27.45960
18 Yes     26.28884
19 No      32.08387
20 Yes     28.60269

在 df2 中将“是”转换为 1,将“否”转换为 0 −

df2$Approved<-ifelse(df2$Approved=="Yes",1,0)
df2
  Approved     y
1  1      33.17910
2  0      31.69268
3  1      30.96484
4  1      34.12339
5  1      30.84079
6  0      27.57933
7  1      29.13050
8  0      32.55457
9  1      34.39399
10 0      30.22306
11 1      29.65322
12 1      29.42060
13 1      30.75312
14 0      32.25545
15 1      27.54001
16 0      25.93290
17 0      27.45960
18 1      26.28884
19 0      32.08387
20 1      28.60269

更新于:06-03-2021

14 千次以上的浏览量

开启你的 职业

完成课程后获得认证

开始
广告