Anda tidak memiliki bidang acak seragam, jadi mencoba menganalisis semua data Anda sekaligus akan melanggar asumsi statistik apa pun yang Anda pilih untuk dilemparkan pada masalah. Tidak jelas dari pos Anda apakah data Anda merupakan titik proses yang ditandai (yaitu, diameter atau tinggi yang terkait dengan setiap lokasi pohon). Jika data ini tidak mewakili proses titik yang ditandai, saya tidak tahu bagaimana Anda menerapkan Moran's-I. Jika data hanya mewakili lokasi spasial, saya akan merekomendasikan menggunakan Ripley's-K dengan transformasi Besag-L untuk membakukan harapan nol di nol. Hal ini memungkinkan untuk penilaian multiskala pengelompokan. Jika data Anda memiliki nilai terkait, maka opsi terbaik Anda adalah Moran's-I (LISA) setempat. Saya benar-benar akan melihatnya dengan kedua statistik. Apa pun pilihan Anda, Anda masih perlu mengulang-ulang setiap situs untuk menghasilkan hasil yang valid. Berikut adalah beberapa contoh kode R untuk simulasi Monte Carlo dari Ripley's-K / Besag's-L menggunakan dataset sapling redwood bawaan. Seharusnya cukup mudah untuk memodifikasi ini untuk mengulang melalui situs Anda dan menghasilkan grafik untuk masing-masing situs.
# 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"))