【问题标题】:R generate points with condition using runifpoint functionR使用runifpoint函数生成带有条件的点
【发布时间】:2021-01-06 07:57:00
【问题描述】:

我正在尝试在矩形中生成随机分布的点。

为了在一个矩形中创建 50 个随机点,我使用了

i=50
  pp<-runifpoint(i, win=owin(c(0,19.5),c(0,3.12))

如果我要在随机生成点之前在坐标上添加条件,

例如0.24

最终目标是在矩形中生成点,除了灰色阴影区域,如下图

【问题讨论】:

    标签: r random graphics spatstat


    【解决方案1】:

    这是一个关于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 &lt;- owin(poly=p),其中p = list(x, y) 包含角的坐标,按逆时针顺序列出,不重复。见help(owin)。

    the spatstat book 的第 3.5 节也对此进行了介绍。您可以免费下载第 3 章。

    【讨论】:

      猜你喜欢
      • 2019-04-20
      • 1970-01-01
      • 2022-09-30
      • 2022-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-13
      • 1970-01-01
      相关资源
      最近更新 更多