在空间关系矩阵订购点

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

鉴于在一个维度点之间的距离的矩阵,我想用R矩阵转换成点的有序向量从左到右(或从右到左,也没有关系),以及输出的矢量从该载体中以所有后续元件的第一元件的距离。

例如,该基体:

> m2
   A  B C D
A  0 11 2 6
B 11  0 9 5
C  2  9 0 4
D  6  5 4 0

...表示以下关系:

 2   4    5
A--C----D-----B

我想输出的载体

X = c(A, C, D, B) (or c(B, D, C, A))
Y = c(2, 4, 5) (or c(5, 4, 2)

我将是任何帮助表示感谢。

r distance spatial
1个回答
1
投票

我们可以使用multidimensional scaling一个维度:

(z <- sort(cmdscale(m, k = 1)[, 1]))
#     B     D     C     A 
# -6.25 -1.25  2.75  4.75 

所以,

(A <- names(z))
# [1] "B" "D" "C" "A"
(B <- unname(diff(z)))
# [1] 5 4 2
© www.soinside.com 2019 - 2024. All rights reserved.