如何在R資料框中用數字替換二分列中的單詞?


二分列可以用“是/否”、“好/壞”、“對/錯”等詞表示。為了用數字(例如1和0)替換這些詞,我們可以使用ifelse函式。

例如,如果我們有一個名為df的資料框,其中包含一列Binary,其值為“是”和“否”,那麼我們可以使用以下命令將“是”替換為1,“否”替換為0:

df$Binary<-ifelse(df$Binary=="Yes",1,0)

示例1

以下程式碼片段建立一個示例資料框:

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

建立了以下資料框:

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

要將單詞“是”替換為1,“否”替換為0,請將以下程式碼新增到上面的程式碼片段中:

x<-sample(c("Yes","No"),20,replace=TRUE)
df1<-data.frame(x)
df1$x<-ifelse(df1$x=="Yes",1,0)
df1

輸出

如果您將上面給出的所有程式碼片段作為一個程式執行,它將生成以下輸出:

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

示例2

以下程式碼片段建立一個示例資料框:

y<-sample(c("Good","Bad"),20,replace=TRUE)
df2<-data.frame(y)
df2

建立了以下資料框:

   y
1  Bad
2  Bad
3  Bad
4  Good
5  Good
6  Good
7  Good
8  Bad
9  Bad
10 Bad
11 Bad
12 Bad
13 Good
14 Bad
15 Good
16 Good
17 Good
18 Bad
19 Good
20 Good

要將單詞“好”替換為1,“壞”替換為0,請將以下程式碼新增到上面的程式碼片段中:

y<-sample(c("Good","Bad"),20,replace=TRUE)
df2<-data.frame(y)
df2$y<-ifelse(df2$y=="Good",1,0)
df2

輸出

如果您將上面給出的所有程式碼片段作為一個程式執行,它將生成以下輸出:

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

更新於:2021年11月9日

瀏覽量:350

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.