我在R.我想找到在基质中的最小值,其中,行索引不等于列索引的行和列索引的距离矩阵(因此不是一个值的距离,以本身)。如何做到这一点在R'
现在,我有:
which(D == min(D), arr.ind = TRUE)
这将返回最小值的索引矩阵中的,但也不排除值距离自己。
假设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