我在网络上有两个观察点模式:obs1
和obs2
。观察这些点并将其记录到现场测量书中。这些中的一些点(比如s
)总是在同一个位置找到。 s
和obs1
共有obs2
。我想在计算强度或任何其他过程之前从点模式中排除此集合s
。
是否有方法(命令/功能)比较两个点进程并删除它们之间的公共点?
答案 0 :(得分:0)
我现在能想到的最好的事情是计算最近的邻居 横跨以下两种模式。
人工数据集,其中X的点2和3对应于点1和 Y的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"))
在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)