在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
这是预期的输出:
# X1 X2 X3 X4
#1 e o p a
#2 f d k d
#3 j o k c
我使用了letters[x]
和letters[list(x)]
但是它给了这个
字母错误[list(x)]:无效的下标类型&#39; list&#39;
答案 0 :(得分:3)
将“x”转换为matrix
后,将其用作内置letters
的索引并将其分配给原始数据集
x[] <- letters[as.matrix(x)]
x
# X1 X2 X3 X4
#1 e o p a
#2 f d k d
#3 j o k c
或者可以使用tidyverse
library(dplyr)
x %>%
mutate_all(funs(letters[.]))