我有兴趣知道线性网络上0到2km之间的点之间的相关性。我使用以下语句作为经验数据,这是在2分钟内解决的。linearK - spatstat中经验和接受包络之间的大时间差
obs<-linearK(c, r=seq(0,2,by=0.20))
现在我想检查随机性的接受度,所以我使用相同的r范围的信封。
acceptance_enve<-envelope(c, linearK, nsim=19, fix.n = TRUE, funargs = list(r=seq(0,2,by=0.20)))
但是这个节目预计时间会少于3个小时。我只是想问一下这个大的时间差是否正常。我是否正确地在函数调用函数时调用了它的r作为序列的额外参数?
是否有一些缩短信封3小时执行时间的有效方法?
我有一个整个城市的道路网络,所以它是相当大的,我检查了没有断开的子图。
c
Point pattern on linear network
96 points
Linear network with 13954 vertices and 19421 lines
Enclosing window: rectangle = [559.653, 575.4999] x
[4174.833, 4189.85] Km
谢谢。
编辑点评
system.time({s <- runiflpp(npoints(c), as.linnet(c));
+ linearK(s, r=seq(0,2,by=0.20))})
user system elapsed
343.047 104.428 449.650
EDIT 2
之后,我删除一些外围网络段,似乎有整体网络上很少或根本没有效果做了一些非常小的变化。这也导致将一些较长的细分市场分成较小的细分市场。但现在不同点模式在同一个网络上,我有更长的预计时间:
> month1envelope=envelope(months[[1]], linearK ,nsim = 39, r=seq(0,2,0.2))
Generating 39 simulations of CSR ...
1, 2, [etd 12:03:43]
新的网络是
> months[[1]]
Point pattern on linear network
310 points
Linear network with 13642 vertices and 18392 lines
Enclosing window: rectangle = [560.0924, 575.4999] x [4175.113,
4189.85] Km
系统配置:MacOS的10.9,2.5Ghz的,16GB,R 3.3。 3,RStudio版本1.0.143
你说得对,这有点令人惊讶。需要多长时间运行'system.time({s < - runiflpp(npoints(c),as.linnet(c)); linearK(s,r = seq(0,2,by = 0.20))}) '?通常大部分时间都是生成点模式和计算汇总统计的花费,然后所有与信封的排序和排序保持一致的书通常非常快。 –
我在主要问题中添加了system.time详细信息。谢谢。希望它在诊断问题时增加一些信息。 – BKS