R 使用 runifpoint 函数生成有条件的点
R generate points with condition using runifpoint function
我正在尝试在矩形中生成随机分布的点。
为了在矩形中创建 50 个随机点,我使用了
i=50
pp<-runifpoint(i, win=owin(c(0,19.5),c(0,3.12))
如果我在随机生成点之前在坐标上添加条件,
例如0.24
最终目标是在除灰色阴影区域以外的矩形中生成点,如下图
这是关于R包的问题spatstat
。
参数 win
指定将在其中生成点的空间区域。在您的示例中,您已将此区域指定为矩形。您只需将此矩形替换为您希望生成点的区域。
您可以通过多种方式构建空间区域(class owin
的对象)。有关概述,请参阅 help(owin)
或 help(spatstat)
。
在您的示例中,您可以通过组合几个矩形来构建形状。例如,要制作一个简单的十字形,我可以只写
require(spatstat)
A <- owin(c(-1,1), c(-4, 4))
B <- owin(c(-4,4), c(-1,1))
U <- union.owin(A, B)
plot(U)
另一种方法是指定多边形的角并使用 W <- owin(poly=p)
,其中 p = list(x, y)
包含角的坐标,按逆时针顺序列出,不重复。参见 help(owin)
。
the spatstat book 的第 3.5 节也对此进行了介绍。您可以免费下载第3章。
我正在尝试在矩形中生成随机分布的点。
为了在矩形中创建 50 个随机点,我使用了
i=50
pp<-runifpoint(i, win=owin(c(0,19.5),c(0,3.12))
如果我在随机生成点之前在坐标上添加条件,
例如0.24 最终目标是在除灰色阴影区域以外的矩形中生成点,如下图
这是关于R包的问题spatstat
。
参数 win
指定将在其中生成点的空间区域。在您的示例中,您已将此区域指定为矩形。您只需将此矩形替换为您希望生成点的区域。
您可以通过多种方式构建空间区域(class owin
的对象)。有关概述,请参阅 help(owin)
或 help(spatstat)
。
在您的示例中,您可以通过组合几个矩形来构建形状。例如,要制作一个简单的十字形,我可以只写
require(spatstat)
A <- owin(c(-1,1), c(-4, 4))
B <- owin(c(-4,4), c(-1,1))
U <- union.owin(A, B)
plot(U)
另一种方法是指定多边形的角并使用 W <- owin(poly=p)
,其中 p = list(x, y)
包含角的坐标,按逆时针顺序列出,不重复。参见 help(owin)
。
the spatstat book 的第 3.5 节也对此进行了介绍。您可以免费下载第3章。