Сохранение имен строк при преобразовании матрицы в значение коэффициента

Скорее всего, это простое решение, но я пытаюсь преобразовать матрицу с одним столбцом и именами строк в значение коэффициента, но когда я это сделаю, имена строк исчезнут:

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

Кто-нибудь знает, есть ли способ сохранить имена строк при покрытии до значения фактора?


person T.P.    schedule 05.09.2018    source источник
comment
Вы имели в виду f <- factor(y[,1])   -  person akrun    schedule 05.09.2018


Ответы (1)


Я не думаю, что у вас есть другой выбор, кроме как

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

Матрицы не очень хорошо подходят для факторов, фрейм данных был бы лучшим вариантом.

person AkselA    schedule 05.09.2018