【问题标题】:Combining two point pattern objects in spatstat creating a combined mark在 spatstat 中组合两个点模式对象创建一个组合标记
【发布时间】:2021-02-05 22:50:17
【问题描述】:

假设在 spatstat 中有两个点模式。我知道我们可以叠加这两个点图案以获得单点图案。现在,如果这些图案有共同的坐标但标记不同,那么在叠加时这些点将被复制。 spatstat 中是否有一种方法可以在为重合坐标创建公共标记的同时获取一组唯一的点?

【问题讨论】:

    标签: spatstat


    【解决方案1】:

    我不知道执行此操作的内置解决方案,因此您必须做一些 如下详述的手工工作。

    加载包并制作具有重叠点的示例数据:

    library(spatstat)
    X1 <- cells[1:22]
    marks(X1) <- factor("a")
    X2 <- cells[20:42]
    marks(X2) <- factor("b")
    plot(superimpose(X1, X2), main = "")
    

    对于X1 中的每个点,在X2 中找到最近的点:

    nn <- nncross(X1, X2)
    tail(nn)
    #>         dist which
    #> 17 0.1386110     4
    #> 18 0.1802776     5
    #> 19 0.1069766     5
    #> 20 0.0000000     1
    #> 21 0.0000000     2
    #> 22 0.0000000     3
    id1 <- which(nn$dist==0) ## Tests EXACT equality. Consider small tolerance.
    id2 <- nn$which[id1]
    

    X1 添加额外的标记级别并将其分配给X2 中具有重复项的点:

    levels(marks(X1)) <- c("a", "c")
    marks(X1)[20:22] <- factor("c")
    X <- superimpose(X1, X2[-id2])
    plot(X, main = "")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-20
      • 2021-04-14
      • 2022-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多