如何从不同的点模式中删除相同的点

时间:2017-07-20 07:32:28

标签: spatstat

我在网络上有两个观察点模式:obs1obs2。观察这些点并将其记录到现场测量书中。这些中的一些点(比如s)总是在同一个位置找到。 sobs1共有obs2。我想在计算强度或任何其他过程之前从点模式中排除此集合s

是否有方法(命令/功能)比较两个点进程并删除它们之间的公共点?

1 个答案:

答案 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)