将矩阵转换为因子值时保留行名

时间:2018-09-05 15:23:54

标签: r matrix rowname

这很可能有一个简单的补救方法,但是我试图将具有一个列和行名的矩阵转换为因子值,但是当我这样做时,行名就会消失:

x <- c("A", "B", "C", "D")
y <- c(1, 0, 1, 0)
y <- as.matrix(y)
rownames(y) <- x

f <- as.factor(y[,1])

所以因子'f'看起来像:

    [,1]
1    1
2    0
3    1
4    0

而不是:

    [,1]
A    1
B    0
C    1
D    0

有人掩盖因子值时,是否有人知道保留行名的方法吗?

1 个答案:

答案 0 :(得分:0)

除了

,我认为您别无选择
f <- as.factor(y)
dim(f) <- c(4, 1)
rownames(f) <- rownames(y)
f
#   [,1]
# A 2   
# B 1   
# C 2   
# D 1   
# Levels: 1 2

矩阵并不是真的适合因子,数据框会是一个更好的选择。