【问题标题】:test for in-tile for Dirichlet tile, using R使用 R 测试 Dirichlet 平铺的平铺
【发布时间】:2019-05-05 00:07:20
【问题描述】:

所以我可以拿分并使用Rdeldirspatstat::dirichlet 来查找这些点的狄利克雷镶嵌。

现在我有一个不在集合中的点,我想知道形成狄利克雷图块的点的索引,我的非集合点位于该点的内部。我可以通过知道磁贴标签(或索引)到达那里。

是否有任何库或方法可以做到这一点?我在想spatstat,但还没有找到东西。

【问题讨论】:

    标签: r delaunay spatstat dirichlet


    【解决方案1】:

    函数cut.ppp() 可以取一个点模式并找到哪个tesselation 平铺图案中的每个点所属的点。下面是一个简单的代码 仅包含一个点 (0.5, 0.5) 的点模式示例。

    library(spatstat)
    dd <- dirichlet(cells)
    plot.tess(dd, do.labels = TRUE)
    xx <- ppp(.5, .5, window = Window(dd))
    plot(xx, add = TRUE, col = "red", cex = 2, pch = 20)
    

    yy <- cut(xx, dd)
    yy
    #> Marked planar point pattern: 1 point
    #> Multitype, with levels = 
    #>    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 
    #> 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
    #> window: rectangle = [0, 1] x [0, 1] units
    marks(yy)
    #> [1] 18
    #> 42 Levels: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ... 42
    

    reprex package (v0.2.1) 于 2018 年 12 月 3 日创建

    【讨论】:

    • Ege_Rubak - 感谢您的出色回答。关于 reprex,你能告诉我什么?
    • R 包reprex 可以轻松生成可重现的示例,包括您可以复制粘贴的格式的代码和绘图,例如stackoverflow、GitHub 或其他需要展示示例的地方。它与spatstat 和手头的问题本身无关。
    【解决方案2】:

    如果X 是点图案,B 是镶嵌,那么

    M <- marks(cut(X, B))
    

    返回一个因子(分类值向量),用于标识哪个图块包含X 的每个点。或者,

    M <- tileindex(X$x, X$y, B)
    

    f <- as.function(B)
    M <- f(X)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-08
      相关资源
      最近更新 更多