【发布时间】:2017-07-20 15:53:50
【问题描述】:
我在网络上有两个观察到的点模式:obs1 和 obs2。这些点被观察并记录在现场测量书中。其中一些点(比如s)总是在同一个位置找到。即s 是obs1 和obs2 共同的。在计算强度或任何其他过程之前,我想从点模式中排除这个集合s。
有没有办法(命令/函数)比较两个点过程并去除它们之间的共同点?
【问题讨论】:
标签: spatstat
我在网络上有两个观察到的点模式:obs1 和 obs2。这些点被观察并记录在现场测量书中。其中一些点(比如s)总是在同一个位置找到。即s 是obs1 和obs2 共同的。在计算强度或任何其他过程之前,我想从点模式中排除这个集合s。
有没有办法(命令/函数)比较两个点过程并去除它们之间的共同点?
【问题讨论】:
标签: spatstat
我现在能想到的最好的事情就是计算最近邻 跨越两种模式,如下所示。
X 的点 2 和 3 对应于点 1 和 2 个:
library(spatstat)
X <- unmark(chicago)[1:3]
Y <- unmark(chicago)[2:5]
plot(X, chars = 24, cols = "blue")
plot(Y, cex = 1.5, cols = "red", add = TRUE)
穿越距离:
d <- nncross(X, Y, what = c("dist", "which"))
在 X 中与 Y 中非常近的相邻点的 ID:
whichX <- which(d$dist <= .Machine$double.eps)
Y中的对应点:
whichY <- d$which[whichX]
结果图:
Xnew <- X[-whichX]
Ynew <- Y[-whichY]
plot(Xnew, chars = 24, cols = "blue")
plot(Ynew, cex = 1.5, cols = "red", add = TRUE)
【讨论】: