我找到了一个函数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]
...