空间关系矩阵中的顺序点
Order points in a spatial relationship matrix
给定一维点之间的距离矩阵,我想使用 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)
如有任何帮助,我将不胜感激。
我们可以使用 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
给定一维点之间的距离矩阵,我想使用 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)
如有任何帮助,我将不胜感激。
我们可以使用 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