Скажем, у меня есть следующая матрица mat
, которая представляет собой двоичную индикаторную матрицу для уровней A
, B
и C
для набора из 5 наблюдений:
mat <- matrix(c(1,0,0,
1,0,0,
0,1,0,
0,1,0,
0,0,1), ncol = 3, byrow = TRUE)
colnames(mat) <- LETTERS[1:3]
> mat
A B C
[1,] 1 0 0
[2,] 1 0 0
[3,] 0 1 0
[4,] 0 1 0
[5,] 0 0 1
Я хочу преобразовать это в один фактор таким образом, чтобы результат был эквивалентен fac
, как:
> fac <- factor(rep(LETTERS[1:3], times = c(2,2,1)))
> fac
[1] A A B B C
Levels: A B C
Дополнительные точки, если вы получите метки из столбцов mat
, но набор числовых кодов (например, c(1,1,2,2,3)
) также будет приемлемым в качестве желаемого результата.