如何在 R 的 data.table 物件中將字母轉換成數字?


要在 R 的 data.table 物件中將字母轉換成數字,我們可以按照以下步驟進行操作 −

  • 首先,建立一個 data.table 物件。

  • 然後,使用 dplyr 包的 mutate_each 函式以及 chartr 函式將字母轉換成數字。

示例

建立 data.table 物件

讓我們建立一個 data.table 物件,如下所示 −

library(data.table)
v1<-sample(LETTERS[1:5],25,replace=TRUE)
v2<-sample(LETTERS[1:5],25,replace=TRUE)
v3<-sample(LETTERS[1:5],25,replace=TRUE)
DT<-data.table(v1,v2,v3)
DT

輸出

執行上述指令碼後,將生成以下輸出(此輸出因系統上的隨機性而異) −

    v1 v2 v3
1:  E  C  B
2:  A  C  B
3:  C  A  D
4:  A  E  D
5:  D  A  A
6:  E  B  E
7:  D  A  D
8:  A  B  A
9:  D  D  B
10: E  B  E
11: C  C  D
12: E  C  C
13: B  D  A
14: C  A  C
15: C  B  D
16: B  C  B
17: B  B  E
18: D  D  C
19: A  C  A
20: C  E  D
21: D  A  D
22: E  D  A
23: B  A  C
24: E  D  E
25: A  B  D
   v1 v2  v3

將字母轉換成數字

使用 dplyr 包的 mutate_each 函式以及 chartr 函式將 data.table 物件 DT 中的字母轉換成數字,如下所示 −

library(data.table)
v1<-sample(LETTERS[1:5],25,replace=TRUE)
v2<-sample(LETTERS[1:5],25,replace=TRUE)
v3<-sample(LETTERS[1:5],25,replace=TRUE)
DT<-data.table(v1,v2,v3)
library(dplyr)
DT %>% mutate_each(funs(chartr("ABCDE","12345",.)))

輸出

    v1 v2 v3
1:  5  3  2
2:  1  3  2
3:  3  1  4
4:  1  5  4
5:  4  1  1
6:  5  2  5
7:  4  1  4
8:  1  2  1
9:  4  4  2
10: 5  2  5
11: 3  3  4
12: 5  3  3
13: 2  4  1
14: 3  1  3
15: 3  2  4
16: 2  3  2
17: 2  2  5
18: 4  4  3
19: 1  3  1
20: 3  5  4
21: 4  1  4
22: 5  4  1
23: 2  1  3
24: 5  4  5
25: 1  2  4
   v1 v2  v3

更新於: 08-11-2021

303 次瀏覽

開啟 職業生涯

完成課程即可獲得認證

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