信封R错误

时间:2014-07-23 12:44:27

标签: r envelope

我试图在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)

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

  

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

     

呼叫:envelope-&GT; envelope.ppp-&GT; marks-&GT; marks.ppp

     

Ademas:Mensaje de avisos perdidos

     

1:点模式对象中的某些标记值为NA。   2:某些标记值在点图案Y中为NA。

任何人都知道我错过了什么?

谢谢!

1 个答案:

答案 0 :(得分:2)

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

如果ppp对象中的标记对象是数据框,则它实际上不知道如何处理它。在这种情况下,SpatialPointsDataFrame(由maptools转换,带有默认的边界框窗口,可能是坏事)将其数据框信息(即QGIS属性列表)保存为在ppp对象中标记。

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

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