请看下图。该图像是通过首先使用 as.owin 将两列数据框转换为研究窗口(称为 study_win),然后在窗口顶部绘制另一个两列数据框(称为 study_points)来创建的。
很明显,这些点位于窗口内!但是,当我打电话时
ppp(study_points[,1],study_points[,2],win = study_window)
它说我的大部分观点都被拒绝为躺在窗外。有人可以告诉我发生了什么吗?
谢谢!
请看下图。该图像是通过首先使用 as.owin 将两列数据框转换为研究窗口(称为 study_win),然后在窗口顶部绘制另一个两列数据框(称为 study_points)来创建的。
很明显,这些点位于窗口内!但是,当我打电话时
ppp(study_points[,1],study_points[,2],win = study_window)
它说我的大部分观点都被拒绝为躺在窗外。有人可以告诉我发生了什么吗?
谢谢!
首先,您可以退后一步检查窗口对象study_window
是否是您想要的。您可以自行绘制或打印此对象。的图study_window
将显示(您也可以在您在问题中提供的图中看到这一点)窗口的边界是不连贯的点散布,而不是连接的多边形。的打印输出study_window
会显示它是一个二进制像素掩码,面积非常小,而不是多边形区域。帮助as.owin
解释说,当as.owin
应用于包含坐标列的数据帧时,它将它们解释为位于window 内的像素x,y
的像素坐标。
因此,发生的事情是as.owin
在数据帧中的每个 (x,y) 位置创建了一个由一个像素组成的窗口。那不是你想要的;(x,y) 坐标是多边形边界的顶点。
要获得所需的窗口,请执行类似的操作study_window <- owin(poly=df)
,其中 df 是顶点的 (x,y) 坐标的数据框。
要一步完成所有操作,请键入类似mypattern <- ppp(x, y, poly=df)
where x 和 y 是窗口中点的坐标向量的内容。
所以我通过使用“owin”解决了这个问题,并将区域指定为多边形;而不是“as.owin”。我不知道 owin 和 as.owin 之间的区别,但我很高兴它起作用了......