gpt4 book ai didi

r - 如何在对角线中遍历矩阵并返回每个位置的索引?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:33:02 24 4
gpt4 key购买 nike

有一个矩阵 N x N,我想在对角线中遍历这个矩阵并返回索引位置。

如果我有一个 4x4 矩阵,代码应该返回 (1,1); (1,2); (2,1); (1,3); (2,2); (3,1); (1,4); (2,3); (3,2); (4,1);等等

我正在尝试在 R Studio 中执行此操作

最佳答案

1) row(m) + col(m) 沿反向对角线保持不变,并且在我们按行排序的反向对角线内:

m <- matrix(1:16, 4, 4) # test matrix

m[order(row(m) + col(m), row(m))]
## [1] 1 5 2 9 6 3 13 10 7 4 14 11 8 15 12 16

2) 不像 (1) 那样紧凑,但这里有一个变体,它使用相同的原理,但使用 outer 和回收而不是 rowcol:

k <- nrow(m)
m[ order(outer(1:k, 1:k, "+") + 0:(k-1)/k) ]
## [1] 1 5 2 9 6 3 13 10 7 4 14 11 8 15 12 16

关于r - 如何在对角线中遍历矩阵并返回每个位置的索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36046441/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com