【问题标题】:Envelope R Error信封 R 错误
【发布时间】:2014-07-23 12:44:27
【问题描述】:

我正在尝试在 R 中编写一个小脚本,在 QGIS 中创建一个 K Ripley 的图形函数。

这是代码:

  ##Point pattern analysis=group
    ##Layer=vector
    ##Titulo=string
    ##Folder=folder
    ##showplots

    library("maptools")
    library("spatstat")


    K <- as.ppp(Layer)
    E <- envelope (K, fun=Kest, nsim=99)
    plot(E, main=Titulo)
    write.csv(K,Folder)

当我运行脚本时,我收到以下消息:

错误 enmarks.ppp (Y, dfok=FALSE):抱歉,当标记是数据框时未实现。

调用:envelope->envelope.ppp->marks->marks.ppp

Ademas: Mensaje de avisos perdidos

1:点图案对象中的某些标记值为 NA。 2:点图案Y中的部分标记值为NA。

有人知道我错过了什么吗?

谢谢!

【问题讨论】:

    标签: r envelope


    【解决方案1】:

    如果K 是标记点模式,那么Kest 会尝试使用按标记分组的模式来执行操作,例如cross-K 函数。这里的标记通常是一个简单的分类向量,它定义了类型 1 和类型 2 点,例如在案例控制点模式中。

    如果ppp 对象中的标记对象是一个数据框,它并不真正知道如何处理它。在这种情况下,SpatialPointsDataFrame(由 maptools 转换,具有默认边界框窗口,这可能是一个坏事)保留其数据框信息,即 QGIS 属性列表,作为标记ppp 对象。

    如果您不关心点属性而只关心位置,则取消标记点模式:

    K <- unmark(as.ppp(Layer))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-15
      • 1970-01-01
      • 1970-01-01
      • 2012-09-16
      相关资源
      最近更新 更多