【问题标题】:1-dimensional Point-Process in R (spatstat)R中的一维点过程(spatstat)
【发布时间】:2018-12-19 05:24:06
【问题描述】:

我问过another question,因为太宽泛而被关闭。现在,我将尝试指定。

再次,我想在 R 中模拟一维点过程。到目前为止,我只从事二维模拟,需要一些帮助。

我的目标是如图所示的模拟

但是,我只需要带有随机点的实线。

我使用spatstat 并且已经发现我可以在 1-dim Line 上生成随机点:

rpoisppOnLines(lambda, L, lmax = NULL, ..., nsim=1, drop=TRUE)

现在,我想制作真正的线条,最好带有匹配的标签。

有人有想法吗?

【问题讨论】:

  • Stack Overflow 是一个编程和开发问题的网站。对于这个问题,您应该使用Stack Exchange network 上的另一个站点。

标签: r design-patterns point spatstat


【解决方案1】:

这是一些关于从点过程中获取样本的粗略代码。

library(spatstat)
lambda = 5
L = psp(0, 0, 3, 0, owin(c(0, 3), c(-1, 1)))
pp = rpoisppOnLines(lambda, L, lmax = NULL, nsim=1, drop=TRUE)
plot(pp$x, pp$y, pch = 4, lwd = 2, cex = 2)
abline(0, 0)

您可以使用ggplot2 让您的情节变得花哨

【讨论】:

    【解决方案2】:

    您可以使用简单的线性网络来表示一维线 要模拟的段。这也使得拟合模型成为可能 (lppm),非参数估计强度 (density.lpp),估计 K 函数 (linearK) 和其他一些东西:

    library(spatstat)
    x_start <- 0
    x_end <- 3
    endpoints <- ppp(x=c(x_start, x_end), y=c(0,0), window = owin(c(x_start, x_end), c(-.1,.1)))
    L <- linnet(endpoints, edges = matrix(c(1,2),ncol = 2))
    X <- rpoislpp(lambda = 5, L = L)
    

    但是,此工具是为复杂网络上的点设计的,而不是 只是真实的线,所以绘图方法并没有真正适应这个 设置,并且可能不会产生你想要的(太多的空白):

    plot(X, pch = 4, lwd = 2, main = "")
    axis(1)
    

    您可以使用coords 提取点模式的坐标,然后 从那里的另一个答案中使用绘图方法:

    co <- coords(X)
    co$x
    #> [1] 1.3306861 2.5550691 1.7776248 2.9486675 1.8571362 2.5020587 1.4843001
    #> [8] 0.4371669 0.8478670
    

    reprex package (v0.2.1) 于 2018 年 12 月 18 日创建

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-06-26
      • 1970-01-01
      • 2023-03-15
      • 2021-04-07
      • 1970-01-01
      • 2021-03-24
      • 2020-02-29
      相关资源
      最近更新 更多