【问题标题】:how to remove same points from different point patterns如何从不同的点模式中删除相同的点
【发布时间】:2017-07-20 15:53:50
【问题描述】:

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

有没有办法(命令/函数)比较两个点过程并去除它们之间的共同点?

【问题讨论】:

    标签: spatstat


    【解决方案1】:


    我现在能想到的最好的事情就是计算最近邻 跨越两种模式,如下所示。

    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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-30
      • 1970-01-01
      • 2013-05-07
      相关资源
      最近更新 更多