保留时出错[dat $ seg]:无效的下标类型'list'

时间:2017-08-28 05:22:45

标签: spatstat

我正在为线性网络上的观察点模式进行线性K函数,我得到以下错误 Error in retainedges[dat$seg] : invalid subscript type 'list' 我不明白这意味着什么,我应该如何纠正它。

在回溯调用中,我收到以下信息

> traceback()
4: thinNetwork(x, retainvertices = subi)
3: countends(L, X[-j], D[-j, j], toler = toler)
2: linearKengine(X, r = r, ..., denom = denom, correction = correction, 
       ratio = ratio)
1: linearK(sl2)

有人可以帮我解决这个错误的含义以及如何纠正错误。

谢谢。

1 个答案:

答案 0 :(得分:1)

您的网络因断开连接而有点问题。它有一个非常大的组件,有3755个顶点和5593个线,然后是5个小组件,只有2或3个顶点,1或2个线没有连接到其他任何东西。在你的例子中,你在这个大网络中只有两个点(据我所知,这两个点都出现在大组件中)。我们或许可以在spatstat的未来版本中处理这个问题,但是现在我建议您简单地丢弃小的空组件。然后我认为linearK按照你的例子的预期工作(虽然我怀疑你从2点的模式中找到有趣的信息!)。

要识别线性网络的已连接组件,请使用带有参数connected.linnet的{​​{1}},然后获取已连接组件的列表,并且可以使用大连接组件来定义新的what = "components"已连接lpp。使用您的示例,您可以执行类似的操作(注意组件编号1是主要组件):

linnet