我怎么能循环呢?互斥的最近邻居

时间:2017-04-01 01:35:28

标签: r loops nearest-neighbor

我找到了一个函数applynbd来计算最近的距离,但我意识到来自邻域的一些点会出现在其他街区。我希望它们是相互排斥的,但代码似乎无法做到这一点?所以我决定对其进行编码,但似乎无法将其循环播放......

k <- matrix(NA, nrow=375, ncol=5)
count <- 0

这计算375坐标之间的距离:

l <- gDistance(coord,byid=TRUE)

这命令从最近到最远的坐标:

 t <- matrix(order(l[count+1,], decreasing=F))

从第一点选择最近的五个点:

k[1,] <- t[1:5,1]

这选择5个最近点到第2点,使得没有点与第1点的5个最近点相同:

t1<- matrix(order(l[count+2,], decreasing=F))
k1 <- matrix(t1 [! t1 %in% k])
k[2,] <- k1[1:5,1]

我想继续这个迭代过程:

  t2<- matrix(order(l[count+3,], decreasing=F))
    k2 <- matrix(t2 [! t2 %in% k])
    k[3,] <- k2[1:5,1]
    t3<- matrix(order(l[count+4,], decreasing=F))
    k3 <- matrix(t3 [! t3 %in% k])
    k[4,] <- k3[1:5,1]

...

0 个答案:

没有答案