【发布时间】:2021-01-06 07:57:00
【问题描述】:
我正在尝试在矩形中生成随机分布的点。
为了在一个矩形中创建 50 个随机点,我使用了
i=50
pp<-runifpoint(i, win=owin(c(0,19.5),c(0,3.12))
如果我要在随机生成点之前在坐标上添加条件,
【问题讨论】:
标签: r random graphics spatstat
我正在尝试在矩形中生成随机分布的点。
为了在一个矩形中创建 50 个随机点,我使用了
i=50
pp<-runifpoint(i, win=owin(c(0,19.5),c(0,3.12))
如果我要在随机生成点之前在坐标上添加条件,
【问题讨论】:
标签: r random graphics spatstat
这是一个关于R包spatstat的问题。
参数win 指定将在其中生成点的空间区域。在您的示例中,您已将此区域指定为矩形。您只需将该矩形替换为您希望生成点的区域即可。
您可以通过多种方式构建空间区域(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 章。
【讨论】: