如何在 R 中的 data.table 对象中将字母转换为数字?

要将字母转换为data.tableR中对象中的数字,我们可以按照以下步骤操作 -

  • 首先,创建一个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

输出结果

执行时,上述脚本生成以下内容output(this output will vary on your system due to randomization)-

    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

以上是 如何在 R 中的 data.table 对象中将字母转换为数字? 的全部内容, 来源链接: utcz.com/z/338669.html

回到顶部