我问过another question,该公司因过于广泛而被关闭。现在,我将尝试指定。
同样,我想在R中模拟一维点过程。到目前为止,我只从事二维模拟,并且需要一些帮助。
我的目标是模拟图片中的
但是,我只需要带有随机点的实线。
我使用spatstat
,并且已经发现我可以使用以下方法在1-dim线上生成随机点:
rpoisppOnLines(lambda, L, lmax = NULL, ..., nsim=1, drop=TRUE)
现在,我想生成实线,最好使用匹配的标签。
有人有主意吗?
答案 0 :(得分: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
答案 1 :(得分:1)
您可以使用简单的线性网络来表示一维线
您要模拟的细分。这也使拟合模型成为可能
(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创建