我有一个融化的矩阵A:
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]
}
答案 0 :(得分:0)
B <- matrix(0,nrow=3,ncol=3)
B[ A[, 1:2] ] <- A[,3]
我们这里不需要steenkin'循环。