【问题标题】:R (spatstat): Built-In Functions Not Evaluating to Desired LimitR(spatstat):未评估到所需限制的内置函数
【发布时间】:2012-06-11 14:45:57
【问题描述】:

所以我遇到的问题很基本,但我似乎无法解决它。我一直在使用 spatstat 的 F、G、J、K 和 L 函数,我想在与不同点过程的 F 函数相同的图上绘制一个点过程的 F 函数。这很容易,除了我的一个点过程将函数评估为 r = 20,另一个评估为 r = 15('r' 是 x 轴上的自变量)。我希望它们都被评估为相同的 r 值,最好是 20。我该怎么做?本质上,这就是问题所在。

首先我创建包含函数值的数据框:

mydata.Fest <- Fest(mydata)

然后,由于某种原因,这行代码:

plot(mydata.Fest)

不会计算出与这行代码相同的“r”(自变量)值:

plot(mydata.Fest, xlim=c(0,20), ylim=c(0,0.8))

两个图都来自 xlim = c(0,20) 和 ylim = c(0,0.8),但由于某种原因,第二个图在 x = 15 处停止评估函数。考虑到它们是从同一个对象绘制的,我不知道为什么他们不产生相同的情节。

附带说明一下,我遇到了另一个问题:在使用 F、J 和 K 函数时,我发现调整限制(尤其是自变量的限制)会导致 R 意外崩溃。如果您遇到此问题或知道解决方案,请告诉我。

谢谢!

【问题讨论】:

    标签: r function plot ppp spatstat


    【解决方案1】:

    这是一个常见问题解答。 spatstat.org 常见问题页面对此进行了讨论。

    spatstat 中的汇总函数,例如 Fest 和 Kest,对自变量有一个“推荐范围”,该范围可能比计算函数的值的范围更短。推荐范围是函数估计在统计上可靠的范围。默认情况下,该函数仅绘制到建议的限制。 (这是空间统计中的标准做法。如果我们不这样做,那么大多数图会看起来很奇怪,因为函数值会爆炸,并且可靠信息会缩小到仅占左下角的一小部分情节。)

    要检查 r 的可用范围和推荐范围,请打印函数对象(只需输入其名称)并查看输出的最后几行。

    要控制绘图限制,请使用 xlim 和 ylim。

    有关更多详细信息,请参阅研讨会说明 www.csiro.au/resources/pf16h.html

    Adrian Baddeley - 包作者

    【讨论】:

      【解决方案2】:

      嗯,这有点奇怪。抱歉,没有答案,但认为最好让其他人通过留下您描述的行为的可重现示例来进行调查。

      我过去所做的是制作一个一致的 bin 向量来评估单独的点模式。

      library(spatstat)
      data(lansing)
      
      mydata1 <- lansing[lansing$marks == "blackoak",]
      mydata2 <- lansing[lansing$marks == "hickory",]
      
      my_r <- (0:40*.002)
      
      mydata1.Fest2 <- Fest(mydata1, r = my_r)
      mydata2.Fest2 <- Fest(mydata2, r = my_r)
      
      plot(mydata1.Fest2)
      plot(mydata2.Fest2, add = TRUE)
      
      mydata1.Fest2$r
      mydata2.Fest2$r
      

      正如我们所看到的,距离箱是相同的,但函数不是在同一组上评估的。我检查了一下,这可能是Fest 独有的行为,当我使用Kest 时,我能够得到预期的解决方案。下面的例子。

      mydata1.Kest <- Kest(mydata1)
      my_k <- mydata1.Kest$r
      mydata2.Kest <- Kest(mydata2, r = my_k)
      
      plot(mydata1.Kest)
      plot(mydata2.Kest, add = TRUE)
      

      我认为这不是 Fest 的预期行为,但我不太熟悉该技术以及它与 Ripley's K 的不同之处,所以我当然可能弄错了,这是出于某种未知原因的预期行为我。在尝试在输出设备上设置轴限制时,我也遇到了类似于您描述的意外崩溃,但我无法重现它。所以也许你正在做某事,或者我们都疯了!

      【讨论】:

      • 感谢您的意见,安迪。我一直在对这些功能进行更多的试验,无论转变的方向如何,都会出现问题。我目前不知道如何解决这个问题。
      • @MikeZ,这可能是一个错误,我会向 r-sig-geo 组发送消息,看看他们是否可以提供更好的帮助。只要确保按照我在此处所做的操作,使示例可重现,如果您有解决方案,请更新此线程。
      【解决方案3】:

      我就这个问题联系了 Adrian Baddeley 博士(“spatstat”的创建者),他告诉我,此示例演示了 add=TRUE 时 plot.fv 中的错误。这将在 spatstat 版本 1.28-1 中修复。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-08-31
        • 1970-01-01
        • 1970-01-01
        • 2018-10-13
        • 2015-04-22
        • 2021-10-01
        • 2019-09-17
        • 1970-01-01
        相关资源
        最近更新 更多