R中的三重循环

时间:2018-06-19 07:29:54

标签: r tree

我在树中有四个表示向量的节点和一个距离函数,它计算任何节点和两个其他节点之间的发散点之间的距离。我想实现以下内容:

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))}}}}}

0 个答案:

没有答案