如何找到最小值的索引的矩阵,其中行索引不等于列索引?

问题描述 投票:0回答:1

我在R.我想找到在基质中的最小值,其中,行索引不等于列索引的行和列索引的距离矩阵(因此不是一个值的距离,以本身)。如何做到这一点在R'

现在,我有:

which(D == min(D), arr.ind = TRUE) 

这将返回最小值的索引矩阵中的,但也不排除值距离自己。

r matrix
1个回答
1
投票

假设d是对称的,并且它的元素有限设置对角线和上(或下)三角部分到INF第一。 (如果不是对称的只是设置对角部分天道酬勤:diag(D) <- Inf

# test input
D <- matrix(1:25, 5)
D <- (D + t(D)) / 2
diag(D) <- 0

D[upper.tri(D, diag = TRUE)] <- Inf
which(D == min(D), arr = TRUE)

赠送:

     row col
[1,]   2   1
© www.soinside.com 2019 - 2024. All rights reserved.