您没有统一的随机字段,因此尝试一次分析所有数据将违反您选择对问题进行统计的假设。从您的帖子中还不清楚您的数据是否是标记点过程(即与每个树位置关联的直径或高度)。如果此数据不代表标记的过程,则我不知道您如何应用Moran's-I。如果数据仅表示空间位置,我建议使用带Besag-L变换的Ripley's-K标准化零期望值。这允许对聚类进行多尺度评估。如果您的数据具有关联的值,那么最好的选择是本地Moran's-I(LISA)。我实际上会用两个统计数据来查看它。无论您选择什么,您仍然需要遍历每个站点以产生有效结果。这是一些示例R代码,用于使用内置的红木树苗数据集对Ripley's-K / Besag's-L进行Monte Carlo模拟。修改它以遍历您的站点并为每个站点生成图表应该非常简单。
# ADD REQUIRED PACKAGES
require(sp)
require(spatstat)
options(scipen=5)
# USE REDWOOD SAPLING DATASET
spp <- SpatialPoints(coords(redwood))
###################################################
###### START BESAG'S-L MONTE CARLO ANALYSUS ######
###################################################
# CREATE CONVEX HULL FOR ANALYSIS WINDOW
W=ripras(coordinates(spp))
# COERCE TO spatstat ppp OBJECT
spp.ppp=as.ppp(coordinates(spp), W)
plot(spp.ppp)
# ESTIMATE BANDWIDTH
area <- area.owin(W)
lambda <- spp.ppp$n/area
ripley <- min(diff(W$xrange), diff(W$yrange))/4
rlarge <- sqrt(1000/(pi * lambda))
rmax <- min(rlarge, ripley)
bw <- seq(0, rmax, by=rmax/10)
# CALCULATE PERMUTED CROSS-K AND PLOT RESULTS
Lenv <- envelope(spp.ppp, fun="Kest", r=bw, i="1", j="2", nsim=99, nrank=5,
transform=expression(sqrt(./pi)-bw), global=TRUE)
plot(Lenv, main="Besag's-L", xlab="Distance", ylab="L(r)", legend=F, col=c("white","black","grey","grey"),
lty=c(1,2,2,2), lwd=c(2,1,1,1) )
polygon( c(Lenv$r, rev(Lenv$r)), c(Lenv$lo, rev(Lenv$hi)), col="lightgrey", border="grey")
lines(supsmu(bw, Lenv$obs), lwd=2)
lines(bw, Lenv$theo, lwd=1, lty=2)
legend("topleft", c(expression(hat(L)(r)), "Simulation Envelope", "theo"), pch=c(-32,22),
col=c("black","grey"), lty=c(1,0,2), lwd=c(2,0,2), pt.bg=c("white","grey"))