将数字转换为data.frame中的字母

Had*_*dij 1 string replace numbers r letters

在R中,我有一些数字矩阵,我将把每个数字转换为其等效的字母;1至“ a”,2至“ b”,依此类推。

假设这是矩阵:

set.seed(1)
x <- data.frame(matrix(sample(1:16,12,T),nrow=3,ncol=4))
#  X1 X2 X3 X4
#1  5 15 16  1
#2  6  4 11  4
#3 10 15 11  3
Run Code Online (Sandbox Code Playgroud)

这是预期的输出:

#  X1 X2 X3 X4
#1  e  o  p  a
#2  f  d  k  d
#3  j  o  k  c
Run Code Online (Sandbox Code Playgroud)

我用letters[x]letters[list(x)],但它给了这个

字母错误[list(x)]:下标类型“ list”无效

kat*_*ath 5

sapply也可以使用:

sapply(x, function(i) letters[i])
#      X1  X2  X3  X4 
# [1,] "e" "o" "p" "a"
# [2,] "f" "d" "k" "d"
# [3,] "j" "o" "k" "c"
Run Code Online (Sandbox Code Playgroud)