【问题标题】:spatstat deleting marks from a point pattern and subseuently the pointsspatstat 从点模式和随后的点中删除标记
【发布时间】:2018-06-28 15:26:13
【问题描述】:

我正在查看 spatstat anemones 中的点模式数据集,它有 231 个点,上面附加了定义直径的标记。当直径等于 2 时,我想删除点模式中的标记和点

数据如下: >

[1] 6 4 4 6 3 3 5 3 5 4 4 6 5 3 4 7 4 6 6 5 4 4 5 3 3 6 4 5 4 4 5 3 3 5 3 4 5 8 5 4 6 5 6 4 5 3 3 4 5 6 4 4 3 4 4 6 5 4 3 6 5 3 [63] 3 6 5 3 3 2 5 7 4 4 4 3 3 4 3 6 2 6 6 3 4 3 7 6 3 4 2 7 4 5 4 4 4 6 4 3 3 3 3 6 7 3 7 3 2 4 3 5 2 3 4 4 3 3 3 6 3 4 5 3 6 3 [125] 7 5 3 3 4 4 5 4 4 6 5 3 3 3 5 3 6 5 5 4 4 3 4 4 4 4 3 4 7 4 6 5 7 6 3 6 5 4 6 4 5 4 5 3 6 3 3 6 4 6 4 4 6 3 5 3 4 6 5 5 4 5 [187] 4 3 3 4 4 4 4 5 4 5 5 5 4 6 4 4 5 3 5 4 3 4 4 4 3 4 5 5 3 3 5 3 4 5 6 2 5 2 3 2 3 3 7 5 4

谢谢!

【问题讨论】:

    标签: r data-manipulation spatstat


    【解决方案1】:

    另一种解决方案是使用通用 R 命令subset

    X <- subset(anemones, marks != 2)
    

    从问题来看,在删除这些点后是否要去掉所有标记还不是很清楚。在这种情况下使用unmark:

    X <- unmark(X)
    

    【讨论】:

      【解决方案2】:

      如果我错了,请纠正我,但我认为这意味着您希望在 anemones$marks 等于 2 时删除观察结果。

      如果是这样,应该这样做:

      updated_anemones <- anemones[!anemones$marks == 2,] 
      

      【讨论】:

      • 建议使用访问器函数marks(),而不是手动从ppp对象中提取标记,也不需要尾部逗号,因为anemones是@987654326 @ 而不是data.frame,所以我认为最好使用:X &lt;- anemones[marks(anemones) != 2]
      猜你喜欢
      • 2021-03-24
      • 2014-10-15
      • 1970-01-01
      • 1970-01-01
      • 2023-01-12
      • 1970-01-01
      • 2020-04-01
      • 2021-02-05
      • 2019-04-04
      相关资源
      最近更新 更多