为 ppp 对象生成集群 spatstat 标记

Generating clustered spatstat marks for a ppp object

这个问题与 here 的问题非常接近。如果我们想为一个已经存在的点模式生成随机标记,答案很好——我们从多元正态分布中提取并与每个点相关联。

但是,我需要为我自己的点模式生成符合 lansing 数据集中给出的标记的标记 spatstat。换句话说,我有一个没有标记的点模式,我想模拟具有确定模式的标记(例如,为了说明我自己的数据的隔离概念)。我如何做这样的标记?我知道 lansing 和我的数据集之间的点数可能不同,但我可以减少 window 或创建更多点。谢谢!


隔离是指一个物种在一个物种中占优势 观察的具体部分window。一个极端的例子是 根据例如完全隔离x 坐标。这会产生条带 不同类型的点数:

library(spatstat)

X <- lansing
Y <- cut(X, X$x, breaks = 6, labels = LETTERS[1:6])
plot(Y, cols = 1:6)

在不知道有关所需隔离类型的更多详细信息的情况下 很难提出更有用的建议。


这里是另一种版本的隔离四个不同的矩形 地区。

library(spatstat)

p <- c(.6,.2,.1,.1)
prob <- rbind(p,
              p[c(4,1:3)],
              p[c(3:4,1:2)],
              p[c(2:4,1)])
X <- unmark(spruces)
labels <- factor(LETTERS[1:4])
subwins <- quadrats(X, 2, 2)
Xsplit <- split(X, subwins)
rslt <- NULL
for(i in seq_along(Xsplit)){
  Y <- Xsplit[[i]]
  marks(Y) <- sample(labels, size = npoints(Y),
                     replace = TRUE, prob = prob[i,])
  rslt <- superimpose(rslt, Y)
}
plot(rslt, main = "", cols = 1:4)
plot(subwins, add = TRUE)