2017-06-14 39 views
0

帮助density`功能“时间迭代没有超过iterMax;增加DTT或增加iterMax”中的R为density功能得到错误`spatstat ::有关“iterMax”错误

如何增加iterMax?

我正在使用库spatstat。

这是我的脚本:

D660 < - 密度(取消标记(control23_network.ppp),660)

线性网络上我的观点模式有:

1969年点 线性网络20126顶点和21363线 围窗口:矩形= [-87.63141,-87.55547]×[41.75817,41.83858]单元

enter image description here

它的工作的一个例子是在与样品数据集中的spatstat库:

数据(芝加哥)

芝加哥

D60 < - 密度(取消标记(芝加哥),60)

plot(d60)

d60

该样品数据集具有:线性网络 116点

点图案 多类型,与可能的类型:攻击,盗窃,cartheft,损坏,抢劫,盗窃,侵入 线性网络338点的顶点和503线 围窗口:长方形= [0.3894,1281.5523] x [153.1035,1276.5602]英尺

+0

有两件事要尝试:首先是发布[MCVE]。其次,为了增加SO的知识而不太理想,可以尝试在调用“spatstat :: density.lpp”时添加iterMax。 (在R中大写函数名称不正确会导致误导新手的不良副作用。) –

回答

1

这是一个关于spatstat::density.lpp的问题,density针对线性网络上的点模式(类别lpp)的方法。

选择的带宽sigma太大了。包围矩形大约为0。1个单位宽,而带宽是sigma=660单位。这将需要大量的算法迭代,所以它会拒绝。

在这个例子中,带宽sigma的合理值将在0.001和0.05单位之间。

1

平滑带宽sigma与网络规模(包围矩形的近似边长为0.1个单位)相比似乎很庞大(660个单位)。你有没有试过类似sigma = 0.001或类似的东西?值得注意的是sigma注定会出现问题。帮助说:

计算时间短,但与西格玛二次增加。

也许这不是根本问题,但至少在做很多其他事情之前值得尝试。

最后,你的R和spatstat版本是什么? density.lpp的代码最近改变了很多。