0
У меня есть топленая матрица A:Преобразование расплавленной матрицы к матрице в R
A =
1 1 1
2 1 0
2 2 1
3 1 0
3 2 0
3 3 1
Я хочу, чтобы преобразовать его в матрицу B:
B:
1 0 0
0 1 0
0 0 1
Этой матрица является симметричной.
Мы можем легко расплавить матрицу, используя пакет «reshape». Как мы можем сделать это обратно?
Легко использовать цикл for, но он слишком медленный.
B <- matrix(0,nrow=3,ncol=3)
for(i in 1:nrow(A))
{
B[A[i,1],A[i,2]] = A[i,3]
}
Ваша трехколоночная матрица, а не «трехканал data.frame», но я думаю, вы найдете ответ там или по одному из вопросов, связанных с правой стороны этого вопроса. – Frank