You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在spatstat中对带定量标记的双变量点模式做标记相关分析?

spatstat定量双变量标记分析相关问题解答

问题1:对一种或多种点模式进行定量双变量标记分析的流程

  • 数据准备:确保点模式是spatstat的ppp对象,定量标记为数值型向量。单物种双标记场景下,将两个标记存入marks数据框;多物种各带定量标记时,合并多个点模式为多类型ppp对象,同时保留各自的定量标记列。
  • 数据校验:用summary(X)查看点模式和标记的统计特征,确认无缺失值、标记类型正确;通过plot(X, markcol=marks(X)$diameter)可视化点分布与标记的初步关联。
  • 方法选择:根据研究目标匹配函数:
    • 单一点模式内两个定量标记的空间关联:使用markcorr
    • 两个不同点模式(或多类型模式的两类)之间的定量标记关联:使用markcrosscorr
  • 计算分析函数:调用对应函数时,指定距离序列r、边缘校正方法(如correction="Ripley"适用于规则区域,"translate"适用于不规则区域)。示例:
    # 单模式双标记分析
    mc_self <- markcorr(X, mark1="diameter", mark2="growth", r=seq(0,10,0.5))
    # 双模式标记交叉分析
    mc_cross <- markcrosscorr(X_combined, i="sp1", j="sp2", mark1="diam1", mark2="diam2", r=seq(0,10,0.5))
    
  • 结果解读与验证:
    • 函数值与1对比:>1为正相关,<1为负相关,≈1无关联
    • 用envelope()生成零模型置信区间,判断关联显著性:
      env <- envelope(mc_cross, nsim=99, simulate=expression(resample(X_combined, control=list(marks="swap"))))
      plot(env)
      
    • 结合距离区间分析关联的空间尺度特征
  • 补充分析:若关联显著,可进一步分析标记的条件分布,或拆分距离段细化关联规律。

问题2:用标记相关函数(markcorr)对带定量标记的点模式X1和X2进行双变量比较的策略

注意:markcorr默认用于单一点模式内的标记自相关,双模式间的定量标记关联更适合用markcrosscorr,具体策略如下:

  • 合并点模式:将X1和X2合并为多类型ppp对象,保留各自的定量标记:
    X_combined <- superimpose(sp1=X1, sp2=X2)
    marks(X_combined) <- data.frame(species=marks(X_combined), diameter=c(marks(X1), marks(X2)))
    
  • 计算标记交叉相关函数:指定两个物种类型和对应的定量标记,设置合理的距离序列与校正方法:
    mc <- markcrosscorr(X_combined, i="sp1", j="sp2", mark1="diameter", mark2="diameter", r=seq(0,15,1), correction="translate")
    
  • 生成显著性验证的置信区间:采用标记交换的零模型(保持点位置和物种类型,随机打乱标记),模拟生成置信区间:
    env <- envelope(mc, nsim=99, simulate=expression(resample(X_combined, control=list(marks="swap"))))
    
  • 结果解读:
    • 若某距离r处函数值>1:说明该距离下sp1的大个体附近更易出现sp2的大个体(正相关)
    • 若函数值<1:说明sp1大个体附近sp2小个体占比更高(负相关)
    • 若实际曲线落在置信区间外,说明该尺度下的关联具有统计显著性
  • 注意事项:距离序列的最大值不要超过研究区域最小边长的1/4,避免边缘效应干扰结果。

问题3:评估sp1的X1不同大小个体与sp2的X2不同大小个体的关联,能否用双变量标记相关函数?策略是什么?

完全可以通过双变量标记交叉相关函数实现,无需将定量标记转为定性分组,具体策略:

  • 合并多类型点模式:将X1(sp1)和X2(sp2)合并为一个多类型ppp对象,统一存储直径标记:
    X_combined <- superimpose(sp1=X1, sp2=X2)
    # 假设X1和X2的marks直接是直径数值
    marks(X_combined) <- data.frame(species=marks(X_combined), diameter=c(marks(X1), marks(X2)))
    
  • 计算定量标记交叉相关函数:调用markcrosscorr,指定两个物种类型和直径标记,设置距离序列与校正方法:
    mc <- markcrosscorr(X_combined, i="sp1", j="sp2", mark1="diameter", mark2="diameter", r=seq(0,20,1), correction="Ripley")
    
  • 验证显著性:用标记交换的零模型生成置信区间,判断关联是否显著:
    env <- envelope(mc, nsim=99, simulate=expression(resample(X_combined, control=list(marks="swap"))))
    plot(env, main="Sp1与Sp2直径的空间交叉关联")
    
  • 结果解读:
    • 函数值>1:对应距离下,sp1和sp2的个体直径呈正空间关联(大个体聚在一起)
    • 函数值<1:对应距离下,sp1大个体与sp2小个体倾向于共存(负关联)
    • 曲线超出置信区间的距离段,说明该尺度下的关联是显著的
  • 可选细化:如果需要聚焦特定大小组的关联,可先对直径按分位数(如前25%、中间50%、后25%)分组,转为定性标记后用crosscorr做类型间的空间关联,但直接用定量标记的markcrosscorr能保留更精细的连续尺度关联信息。

内容的提问来源于stack exchange,提问作者Tieygons

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 09:35:05