杠杆函数错误:要替换的项目数不是替换长度的倍数
error in leverage function: number of items to replace is not a multiple of replacement length
我在尝试为 spatstat
中的点模式模型生成杠杆图时遇到了一些麻烦。不过这很奇怪,因为昨天它在完全相同的模型上运行得非常好,而现在却不行了。
我有一个包含 3 个协变量和一个 Geyer 交互作用的模型,它可以正确运行而不会产生任何警告消息。但是,当我尝试生成杠杆图时,我首先收到此警告:
Large quadrature scheme split into blocks to avoid memory size
limits;6404 dummy points split into 8 blocks, the first 7 blocks
containing 801 dummy points and the last block containing 797 dummy
points
然后这个错误:
Error in ppmInfluenceEngine(fit, what = what, ..., iScore = iScore, iHessian = iHessian, :
number of items to replace is not a multiple of replacement length
我认为问题与 R 试图拆分正交方案这一事实有关,因为之前,当它没有崩溃并且我能够使用完全相同的模型生成杠杆图时,它不必拆分它(或者至少它没有让我知道!)
library(spatstat)
#generate a pattern
pattern <- rpoispp(1454)
summary(pattern)
#generate a covariate
cov1 <- rnoise(rgen = rnorm, dimyx=32, mean=2, sd=1, w = pattern$window)
cov2 <- rnoise(rgen = rnorm, dimyx=32, mean=1, sd=7, w = pattern$window)
cov3 <- rnoise(rgen = rnorm, dimyx=32, mean=5, sd=10, w = pattern$window)
#fit the model
fit <- ppm(pattern ~ cov1 + cov2 + cov3, Geyer(r = 0.01, s = 0.02))
leverage(fit) #this produces the warning and then the error
我是运行R版本3.3.1和spatstat版本1.46-1
感谢您报告此事。这是 spatstat 中的错误,我们将尽快修复。如果您的计算机上有足够的内存,您可以通过设置来避免正交分裂:
spatstat.options(maxmatrix = 2^26)
注意:如果您这样做并且您没有足够的内存,您的计算机可能会挂起一段时间。在某些情况下,可能很难中断这些计算,所以为了安全起见,我会在尝试之前保存所有打开的文件等。
错误信息
number of items to replace is not a multiple of replacement length
确实是spatstat
中的一个错误,与稀疏矩阵的处理有关。
感谢您提请我们注意此事。
该错误已在 spatstat
的当前开发版本中修复,版本 1.46-1.043 或更高版本,可从 the spatstat github repository 获得。
留言
Large quadrature scheme split into blocks to avoid memory size limits;
不是警告,只是供您参考的消息。
我在尝试为 spatstat
中的点模式模型生成杠杆图时遇到了一些麻烦。不过这很奇怪,因为昨天它在完全相同的模型上运行得非常好,而现在却不行了。
我有一个包含 3 个协变量和一个 Geyer 交互作用的模型,它可以正确运行而不会产生任何警告消息。但是,当我尝试生成杠杆图时,我首先收到此警告:
Large quadrature scheme split into blocks to avoid memory size
limits;6404 dummy points split into 8 blocks, the first 7 blocks
containing 801 dummy points and the last block containing 797 dummy
points
然后这个错误:
Error in ppmInfluenceEngine(fit, what = what, ..., iScore = iScore, iHessian = iHessian, :
number of items to replace is not a multiple of replacement length
我认为问题与 R 试图拆分正交方案这一事实有关,因为之前,当它没有崩溃并且我能够使用完全相同的模型生成杠杆图时,它不必拆分它(或者至少它没有让我知道!)
library(spatstat)
#generate a pattern
pattern <- rpoispp(1454)
summary(pattern)
#generate a covariate
cov1 <- rnoise(rgen = rnorm, dimyx=32, mean=2, sd=1, w = pattern$window)
cov2 <- rnoise(rgen = rnorm, dimyx=32, mean=1, sd=7, w = pattern$window)
cov3 <- rnoise(rgen = rnorm, dimyx=32, mean=5, sd=10, w = pattern$window)
#fit the model
fit <- ppm(pattern ~ cov1 + cov2 + cov3, Geyer(r = 0.01, s = 0.02))
leverage(fit) #this produces the warning and then the error
我是运行R版本3.3.1和spatstat版本1.46-1
感谢您报告此事。这是 spatstat 中的错误,我们将尽快修复。如果您的计算机上有足够的内存,您可以通过设置来避免正交分裂:
spatstat.options(maxmatrix = 2^26)
注意:如果您这样做并且您没有足够的内存,您的计算机可能会挂起一段时间。在某些情况下,可能很难中断这些计算,所以为了安全起见,我会在尝试之前保存所有打开的文件等。
错误信息
number of items to replace is not a multiple of replacement length
确实是spatstat
中的一个错误,与稀疏矩阵的处理有关。
感谢您提请我们注意此事。
该错误已在 spatstat
的当前开发版本中修复,版本 1.46-1.043 或更高版本,可从 the spatstat github repository 获得。
留言
Large quadrature scheme split into blocks to avoid memory size limits;
不是警告,只是供您参考的消息。