균일 한 랜덤 필드가 없으므로 모든 데이터를 한 번에 분석하려고하면 문제를 던지기로 선택한 통계의 가정을 위반하게됩니다. 데이터가 표시된 포인트 프로세스 (즉, 각 트리 위치와 관련된 직경 또는 높이) 인 경우 게시물에서 명확하지 않습니다. 이 데이터가 마크 포인트 프로세스를 나타내지 않는 경우 어떻게 Moran's-I를 적용했는지 알 수 없습니다. 데이터가 공간적 위치 만 나타내는 경우에는 Besag-L 변환과 함께 Ripley's-K를 사용하여 null 기대 값을 0으로 표준화하는 것이 좋습니다. 이를 통해 다중 규모 클러스터링 평가가 가능합니다. 데이터에 관련 값이있는 경우 가장 좋은 방법은 지역 Moran's-I (LISA)입니다. 나는 실제로 두 가지 통계로 그것을 볼 것입니다. 당신의 선택에 관계없이 유효한 결과를 얻으려면 각 개별 사이트를 계속 반복해야합니다. 다음은 내장 된 레드 우드 묘목 데이터 세트를 사용하여 Ripley's-K / Besag's-L의 Monte Carlo 시뮬레이션을위한 예제 R 코드입니다. 사이트를 반복하고 각 사이트에 대한 그래프를 생성하도록이를 수정하는 것은 매우 간단해야합니다.
# 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"))