如何在 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(thisoutputwillvaryonyoursystemduetorandomization)-
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