我尝试通过使用包中的函数和 Moran.I
包中的函数运行 Moran's I 测试空间自相关测试,通过对相同数据应用这两种方法,我得到了不同的结果。那么在这一点上,为什么我们会产生如此大的差异,最有效的方法是什么?请参阅以下代码:ape
moran.test
spdep
library(ape) #For Moran.I
library(spdep) #For moran.test
Var <- rnorm(200,1, 1)
xy<- as.data.frame(cbind(rnorm(200,0, 1), (rnorm(200,0, 1))))
colnames(xy) <-c('X','Y')
dists <- as.matrix(dist(cbind(xy$X, xy$Y)))
dists.inv <- 1/dists
diag(dists.inv) <- 0
# TEST WITH "Moran.I"
Moran.I(Var, dists.inv, alternative = "greater")
# TEST WITH "moran.test"
lw <- mat2listw(dists.inv)
moran.test(Var, lw)