R 在对称矩阵的非对角元素中找到最大绝对值

R 在对称矩阵的非对角元素中找到最大绝对值,r,linear-algebra,R,Linear Algebra,我想找出R中对称矩阵中非对角元素的最大绝对值的位置和值 例如,对于这个小3x3: matrix(c(99,11,-21, 11,99,13, -21,13,99), nrow = 3, ncol=3, byrow=TRUE) [,1] [,2] [,3] [1,] 99 11 -21 [2,] 11 99 13 [3,] -21 13 99 我想知道-21作为值,1,3或3,1作为位置 除了“暴力”之外,还有什么好办法可以做到这一点吗 谢

我想找出R中对称矩阵中非对角元素的最大绝对值的位置和值

例如,对于这个小3x3:

 matrix(c(99,11,-21, 11,99,13, -21,13,99), nrow = 3, ncol=3, byrow=TRUE)

       [,1] [,2] [,3]
 [1,]   99   11  -21
 [2,]   11   99   13
 [3,]  -21   13   99
我想知道-21作为值,1,3或3,1作为位置

除了“暴力”之外,还有什么好办法可以做到这一点吗

谢谢
PS

说到编程,总是很难知道别人认为什么是“暴力”。也就是说,对于方形矩阵(此处命名为
M
),可以执行以下操作:

m <- M
diag(m) <- NA

(mmax <- max(abs(m), na.rm=TRUE))
# [1] -21

which(abs(m) == mmax, arr.ind=TRUE)
#      row col
# [1,]   3   1
# [2,]   1   3

当谈到编程时,总是很难知道别人认为什么是“暴力”。也就是说,对于方形矩阵(此处命名为
M
),可以执行以下操作:

m <- M
diag(m) <- NA

(mmax <- max(abs(m), na.rm=TRUE))
# [1] -21

which(abs(m) == mmax, arr.ind=TRUE)
#      row col
# [1,]   3   1
# [2,]   1   3
m
x
x
#创建矩阵
m
#创建矩阵

我很完美。我当然不认为那是蛮力!谢谢你。我当然不认为那是蛮力!谢谢
#create matrix
m <- matrix(c(99,11,-21, 11,99,13, -21,13,99), nrow = 3, ncol=3, byrow=TRUE) 
#remove diagonal
diag(m) <- 0

#find locations of max absolute value using norm
which(abs(m) == norm(m,type="m"),arr.ind=TRUE)
     row col
[1,]   3   1
[2,]   1   3