【问题标题】:envelope function (spatstat) - error "unused arguments"包络函数 (spatstat) - 错误“未使用的参数”
【发布时间】:2014-10-30 16:19:06
【问题描述】:

我想请你帮忙找出为什么当我使用函数信封时,我的参数不被接受,而是定义了“未使用的参数”。 我使用的数据是没有标记的 ppp,我想用模拟数据和我的数据创建一个 L 函数图。 这是我的 ppp 数据的代码:

 map2008MLW = ppp(xy2008_BNGppp$x, xy2008_BNGppp$y, window = IoM_polygon_MLWowin)

然后:

L2008 = Lest(map2008MLW,correction="Ripley")
OP = par(mar=c(5,5,4,4))
plot(L2008, . -r ~ r, ylab=expression(hat("L")), xlab = "d (m)"); par(OP)
L2008$iso  = L$iso  - L$r
L2008$theo = L$theo - L$r

所需的模拟次数

n = 9999

想要显示的 p 显着性水平

 p  = 0.05

而此时的包络函数似乎不是很开心:

    EL2008 = envelope(map2008MLW[W], Lest, nsim=n, rank=(p * (n + 1)))
    Error in envelope(map2008MLW[W], Lest, nsim = n, rank = (p * (n + 1))) : 
  unused arguments (nsim = n, rank = (p * (n + 1)))

这似乎是一个一般性错误,我不确定它是由包 spatstat 引起的。请帮助我找到解决方案,因为我无法继续进行分析。

非常感谢,

玛蒂娜

【问题讨论】:

  • 您的示例不可重现。您指的是我们无权访问的数据xy2008_BNGpppIoM_polygon_MLWowin。也许您可以生成可重现的人工数据,并给出相同的错误?或者在某处上传数据。您还可以参考LW,它们是未定义的对象。您能否加载另一个具有envelope 功能的包?尝试使用 spatstat::envelope 来确定。有关如何制作好示例的提示,以便我们可以帮助您查看此处:stackoverflow.com/a/5963610/3341769
  • 亲爱的 Ege,由于代码中出现任何错误,我意识到我的不是问题,事实上,相同的代码在我同事的计算机中使用 R 可以完美运行。我想澄清一下,R 版本是相同的(3.1.1),也是包的版本。我的 IT 知识不足以解决这个问题,但至少我设法运行了我热衷的信封代码。谢谢,
  • 根据您的错误消息,最有可能的是,在您运行的 R 会话中,您要么附加了另一个带有名为信封的函数的包,要么自己创建了一个名为信封的函数。我很高兴这不再是问题。

标签: arguments envelope spatstat


【解决方案1】:

参数rank 应该是nrank

在示例中,显着性水平和参数nrank 之间的关系也不正确。对于双边检验,显着性水平为alpha = 2 * nrank/(nsim+1),因此为nrank= alpha * (nsim+1)/2

您选择了 0.95 的显着性水平,但我假设您的意思是 0.05。因此,对于 nsim=9999,您希望 nrank=0.05 * 10000/2 = 250 获得显着性水平为 0.05 的测试。

在这种应用程序中不需要如此大量的模拟(9999)。蒙特卡洛测试在nsim 的小值下有效。在您的示例中,我通常会使用 nsim=39nrank=1

请参阅the spatstat book 的第 10 章。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-31
    • 1970-01-01
    相关资源
    最近更新 更多