Скажем, у меня есть следующая матрица 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)
) также будет приемлем в качестве желаемого результата.