首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生成群集化的spatstat标记?

生成群集化的spatstat标记?
EN

Stack Overflow用户
提问于 2016-09-09 03:36:14
回答 1查看 103关注 0票数 0

我想知道是否有人知道如何在spatstat中分配标记,以便它们倾向于在空间上聚集?我有一组后来的长坐标,我想把它们分成4组。我已经知道了如何使用以下代码将标记/组随机分配给这些点:

代码语言:javascript
复制
as.ppp(data, window ,marks=factor(sample(1:4,replace=TRUE)))

但我不知道如何分配标记,以便组往往占据彼此更接近的点。更复杂的是,我还希望每个组中的点数都是相同的,每次指定的点数。有没有人有线索?提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2016-09-09 05:06:06

通常,在spatstat中,我们定义描述/生成点的模型,这些点位于随机位置,并且可能具有随机标记。如果我没理解错的话,你有一组固定的位置,你只是想分配随机的分数。你有多少分?如果您没有太多的点,一个简单的建议是生成一个多元正态分布变量,然后取第一个标记的n_1最低值,第二个标记的n_2 next值,依此类推。一个简单的示例,其中包含4组大小相等的点:

代码语言:javascript
复制
library(spatstat)
library(mvtnorm)
set.seed(42) # Make reproducible
X <- redwood # Example data
n <- npoints(redwood)
Xdist <- pairdist(X) # n x n matrix of distances in X
decay_rate <- 1 # Parameter for covariance sturcture
sigma <- exp(-decay_rate * Xdist)
m <- rmvnorm(1, rep(0, n), sigma)
breaks <- quantile(m, probs = c(0, .25, .5, .75, 1)) # breaks to cut marks in four equal sized groups
marks(X) <- cut(m, breaks = breaks, include.lowest=TRUE, labels = 1:4)
plot(X)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39398911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档