求和后将 1xn + 1xn 矩阵重塑为对称矩阵
Reshape 1xn + 1xn matrices to be a symmetric after summation
例如,我有两个 1x5 维度的矩阵,我想在执行 c = a+b
操作然后添加 diag(c) <- 1
后将它们重塑为对称的 5x5 矩阵
让我们举个例子:
a <- matrix(seq(1,5), byrow = T)
b <- matrix(seq(1,5), byrow = T)
我要找的结果是:
1 3 4 5 6
3 1 5 6 7
4 5 1 7 8
5 6 7 1 9
6 7 8 9 1
请帮忙,提前谢谢你
我们可以用outer
做sum
然后把对角线元素赋给1
out <- outer(a[,1], b[,1], FUN = `+`)
diag(out) <- 1
out
# [,1] [,2] [,3] [,4] [,5]
#[1,] 1 3 4 5 6
#[2,] 3 1 5 6 7
#[3,] 4 5 1 7 8
#[4,] 5 6 7 1 9
#[5,] 6 7 8 9 1
例如,我有两个 1x5 维度的矩阵,我想在执行 c = a+b
操作然后添加 diag(c) <- 1
让我们举个例子:
a <- matrix(seq(1,5), byrow = T)
b <- matrix(seq(1,5), byrow = T)
我要找的结果是:
1 3 4 5 6
3 1 5 6 7
4 5 1 7 8
5 6 7 1 9
6 7 8 9 1
请帮忙,提前谢谢你
我们可以用outer
做sum
然后把对角线元素赋给1
out <- outer(a[,1], b[,1], FUN = `+`)
diag(out) <- 1
out
# [,1] [,2] [,3] [,4] [,5]
#[1,] 1 3 4 5 6
#[2,] 3 1 5 6 7
#[3,] 4 5 1 7 8
#[4,] 5 6 7 1 9
#[5,] 6 7 8 9 1