【发布时间】:2021-08-08 11:45:33
【问题描述】:
我有一个 50 行 50 列的矩阵:
[,1] [,2] [,3]...[,50]
[1,] 1 0.8 0.7
[2,] 0.8 1 0.5
[3,] 0.7 0.5 1
...
[50,]
我想将 0.02 的值相加到对角线以获得如下结果:
[,1] [,2] [,3]...[,50]
[1,] 1 0.82 0.72
[2,] 0.8 1 0.52
[3,] 0.7 0.5 1
...
[50,]
有谁知道如何使用 R 仅在矩阵对角线以上的值中求和?
矩阵码示例:
matrix <- as.matrix(data.frame(A = c(1, 0.8, 0.7), B = c(0.8, 1, 0.5), C = c(0.7, 0.5, 1)), nrow=3, ncol=3)
【问题讨论】:
-
如果您包含一个简单的reproducible example,其中包含可用于测试和验证可能解决方案的示例输入和所需输出,则更容易为您提供帮助。避免在示例中使用“...”,因为这样我们就无法复制/粘贴进行测试。此外,您不需要所有 50 列和行进行测试。只需几行即可制作一个漂亮的完整矩阵。
-
另外,看看
?upper.tri