我在树中有四个表示向量的节点和一个距离函数,它计算任何节点和两个其他节点之间的发散点之间的距离。我想实现以下内容:
for all i, for all j, for all k
calculate distance(i,j,k) s.t. k != j != i.
因此,对于作为主要节点的四个i
中的每一个,我想获得三个距离。
例如,将节点1作为主节点,我希望:(1-->2,3)
,(1,-->2,4)
,(1-->3,4)
。
(1-->2,3)
和(1-->3,2)
将是相同的值,但(1-->2,3)
和(2-->1,3)
不是,因为存在不同的主节点。
我尝试按如下方式创建3D array
,然后将值存储在嵌套循环中,但有更有效的方法吗?
非常感谢任何建议。
a <- array(rep(1, 4*4*4), dim=c(4, 4, 4))
for (main in 1:4){
for (i in 1:4) {
if (i != main){
for (j in 1:4){
if (j != main & j != i){
a[main,i,j] <- sqrt( dist(main,i)*dist(main,j) / dist(i,j))}}}}}