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

R 将矩阵转换为因子值时保留行名称,r,matrix,rowname,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]) 而不是: [,1] A 1 B 0 C 1 D 0 有人知道在转换为因子值时是否有保留行名称的方法吗 我

这很可能有一个简单的补救办法,但我正在尝试将一个具有一个列和行名称的矩阵转换为一个因子值,但当我这样做时,行名称消失了:

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

f <- as.factor(y[,1])
而不是:

    [,1]
A    1
B    0
C    1
D    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
f你是说
f
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