如何在 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 千次以上的瀏覽量

開啟你的 職業

完成課程後獲得認證

開始
廣告
© . All rights reserved.