R 在无重叠点的spatstat中绘制残差

R 在无重叠点的spatstat中绘制残差,r,spatial,spatstat,R,Spatial,Spatstat,这可能很简单,但我花了相当多的时间试图解决它,没有任何运气,也许任何人都可以帮助我 我通过spatstat中的ppm()函数拟合了点模式模型(下面是可复制的代码),当我绘制残差时,它会自动在残差图像上绘制点,这使得很难看到任何东西。有人知道如何避免吗 代码: 库(spatstat) 模式点过程模型的残差实际上是一个有符号测度,它既有离散部分(集中在观测位置)又有连续部分。如果只绘制连续部分,则不会真正绘制剩余部分 当然,您只想绘制连续部分是一个有效的点,而获得这一点的简单方法是将type=“n”

这可能很简单,但我花了相当多的时间试图解决它,没有任何运气,也许任何人都可以帮助我

我通过spatstat中的ppm()函数拟合了点模式模型(下面是可复制的代码),当我绘制残差时,它会自动在残差图像上绘制点,这使得很难看到任何东西。有人知道如何避免吗

代码:

库(spatstat)

模式点过程模型的残差实际上是一个有符号测度,它既有离散部分(集中在观测位置)又有连续部分。如果只绘制连续部分,则不会真正绘制剩余部分

当然,您只想绘制连续部分是一个有效的点,而获得这一点的简单方法是将
type=“n”
传递到
plot.msr
,后者将其发送到
plot.ppp
。但是,这仍然会在左侧显示一个奇怪的符号映射

或者,您可以使用内部
spatstat
函数
augment.msr
,将像素图像添加到剩余对象,然后使用该图像进行打印(请注意,使用内部函数不能保证在未来版本的
spatstat
中正常工作):

库(spatstat)

模式数据点未在残差顶部“过度绘制”:残差测量包括每个数据点的“原子”质量以及平滑密度,因此该图是正确的

如果问题是由于表示原子的符号太大而无法看到细节,则可以使用将传递到
plot.ppp
的参数之一
markscale
maxsize
,缩小这些符号的比例

再次强调,如果有很多数据点,最好只是平滑残差度量。如果
res
是您计算的残差度量,请尝试
plot(Smooth(res))
。有关更多信息,请参阅
Smooth.msr
的帮助

如果确实需要提取残差度量的平滑密度分量,可以按照Ege的建议,或者使用
with.msr
。比如说

with(res, Smooth(qlocations %mark% density)) 
给出表示残差度量的连续分量的图像


这些注释仅适用于原始残留物,其中所有原子的质量均为1。对于其他类型的残差,原子的质量不相等,显示它们变得更重要。

我肯定误解了情节。您和Ege的评论对我帮助很大,非常感谢!
library(spatstat)
pattern <- rpoispp(300)
cov <- rnoise(rgen = rnorm, dimyx=32, mean=2, sd=1, w = pattern$window)
fit <- ppm(pattern ~ cov)
res <- residuals.ppm(fit, type = "raw")
plot(res, how = "imagecontour")
res <- augment.msr(res)
den <- attr(res, "smoothdensity")
plot(den)
with(res, Smooth(qlocations %mark% density))