R 我如何循环这个?相互排斥的近邻
我找到了一个函数R 我如何循环这个?相互排斥的近邻,r,loops,nearest-neighbor,R,Loops,Nearest Neighbor,我找到了一个函数applynbd来计算最近距离,但我意识到一个邻域中的一些点会出现在其他邻域中。我希望它们相互排斥,但代码似乎无法做到这一点?所以我决定编写代码,但似乎无法循环它 k <- matrix(NA, nrow=375, ncol=5) count <- 0 k Cna您是否为coord添加了一个dput?如果您在帖子中提到了这些函数的软件包,那会很有帮助。coord是一个使用sp软件包的空间点数据框。我使用rgeos的函数gDistance来计算每个点之间的距离,因此它
applynbd
来计算最近距离,但我意识到一个邻域中的一些点会出现在其他邻域中。我希望它们相互排斥,但代码似乎无法做到这一点?所以我决定编写代码,但似乎无法循环它
k <- matrix(NA, nrow=375, ncol=5)
count <- 0
k Cna您是否为coord
添加了一个dput
?如果您在帖子中提到了这些函数的软件包,那会很有帮助。coord是一个使用sp软件包的空间点数据框。我使用rgeos的函数gDistance来计算每个点之间的距离,因此它只是一个向量。
l <- gDistance(coord,byid=TRUE)
t <- matrix(order(l[count+1,], decreasing=F))
k[1,] <- t[1:5,1]
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]