我正在尝试将 Geyer 模型拟合到点模式,并且我设法做到了没有麻烦。但是,当我想检查诊断图时,我遇到了一个问题。如果我为参数“which”赋予值“all”,它会毫无问题地绘制 4 个面板,但是当我只要求平滑残差测量时(which =“smooth”我得到以下错误:
Error in as.vector(rasterx.mask(W)) :
error in evaluating the argument 'x' in selecting a method for function 'as.vector': Error in validate.mask(w) : w is not a binary mask
可重现的代码如下:
library(spatstat)
#generate a pattern
pattern <- rpoispp(300)
#generate a covariate
cov <- rnoise(rgen = rnorm, dimyx=32, mean=2, sd=1, w = pattern$window)
#fit the model
fit <- ppm(pattern ~ cov, Geyer(r = 0.01, s = 0.02))
#plot diagnostics
diag <- diagnose.ppm(fit, type = "pearson", which = "all") #this works
diag <- diagnose.ppm(fit, type = "pearson", which = "smooth") #this doesn't
我type=
以同样的运气尝试了所有允许的选项。
有什么想法我可能做错了吗?(我假设是我)或者我怎样才能以其他方式获得平滑的残差?