library(ape)
set.seed(12345)
MO=rnorm(n = 150,mean = 3,sd = 0.5)
xy=expand.grid(x=seq(0,9),y=seq(0,14))
as.data.frame(MO)
## MO
## 1 3.292764
## 2 3.354733
## 3 2.945348
## 4 2.773251
## 5 3.302944
## 6 2.091022
## 7 3.315049
## 8 2.861908
## 9 2.857920
## 10 2.540339
## 11 2.941876
## 12 3.908656
## 13 3.185314
## 14 3.260108
## 15 2.624734
## 16 3.408450
## 17 2.556821
## 18 2.834211
## 19 3.560356
## 20 3.149362
## 21 3.389811
## 22 3.727893
## 23 2.677836
## 24 2.223431
## 25 2.201145
## 26 3.902549
## 27 2.759176
## 28 3.310190
## 29 3.306062
## 30 2.918845
## 31 3.405937
## 32 4.098417
## 33 4.024595
## 34 3.816223
## 35 3.127136
## 36 3.245594
## 37 2.837957
## 38 2.168975
## 39 3.883867
## 40 3.012901
## 41 3.564255
## 42 1.809821
## 43 2.469867
## 44 3.468570
## 45 3.427226
## 46 3.730365
## 47 2.293451
## 48 3.283702
## 49 3.291594
## 50 2.346601
## 51 2.729807
## 52 3.973846
## 53 3.026795
## 54 3.175831
## 55 2.664512
## 56 3.138977
## 57 3.345586
## 58 3.411898
## 59 4.072533
## 60 1.826528
## 61 3.074796
## 62 2.328734
## 63 3.276652
## 64 3.794981
## 65 2.706560
## 66 2.083811
## 67 3.444070
## 68 3.796744
## 69 3.258427
## 70 2.352164
## 71 3.027308
## 72 2.607675
## 73 2.475324
## 74 4.165256
## 75 3.701353
## 76 3.471300
## 77 3.413129
## 78 2.594230
## 79 3.238124
## 80 3.510629
## 81 3.322692
## 82 3.521572
## 83 2.847815
## 84 4.238555
## 85 3.485610
## 86 3.933550
## 87 3.336021
## 88 2.846023
## 89 3.268262
## 90 3.412435
## 91 2.518049
## 92 2.572459
## 93 3.943473
## 94 2.804090
## 95 2.509684
## 96 3.343666
## 97 2.747478
## 98 4.078860
## 99 2.700101
## 100 2.652727
## 101 3.111963
## 102 2.421888
## 103 3.211209
## 104 2.337622
## 105 3.070542
## 106 2.731976
## 107 2.844197
## 108 3.778055
## 109 2.775983
## 110 3.160562
## 111 2.384914
## 112 2.337971
## 113 3.630621
## 114 3.659616
## 115 2.959623
## 116 2.747455
## 117 2.973923
## 118 3.314430
## 119 4.090001
## 120 2.965491
## 121 3.772432
## 122 3.660726
## 123 3.161076
## 124 3.765478
## 125 2.789380
## 126 2.420589
## 127 2.077316
## 128 3.578663
## 129 1.938225
## 130 2.401984
## 131 3.821096
## 132 3.441827
## 133 3.262438
## 134 2.407670
## 135 4.327894
## 136 2.476043
## 137 2.494439
## 138 3.334461
## 139 3.064589
## 140 2.788712
## 141 2.429868
## 142 2.353142
## 143 2.702651
## 144 2.249593
## 145 3.007928
## 146 3.270085
## 147 2.226354
## 148 3.424826
## 149 3.448007
## 150 3.069345
plot(xy,col=MO,pch=19)

xymatrix<- as.matrix(dist(cbind(xy$x, xy$y)))
xymatrix.inv <- 1/xymatrix
diag(xymatrix.inv) <- 0
xymatrix.inv[1:10, 1:10]
## 1 2 3 4 5 6 7
## 1 0.0000000 1.0000000 0.5000000 0.3333333 0.2500000 0.2000000 0.1666667
## 2 1.0000000 0.0000000 1.0000000 0.5000000 0.3333333 0.2500000 0.2000000
## 3 0.5000000 1.0000000 0.0000000 1.0000000 0.5000000 0.3333333 0.2500000
## 4 0.3333333 0.5000000 1.0000000 0.0000000 1.0000000 0.5000000 0.3333333
## 5 0.2500000 0.3333333 0.5000000 1.0000000 0.0000000 1.0000000 0.5000000
## 6 0.2000000 0.2500000 0.3333333 0.5000000 1.0000000 0.0000000 1.0000000
## 7 0.1666667 0.2000000 0.2500000 0.3333333 0.5000000 1.0000000 0.0000000
## 8 0.1428571 0.1666667 0.2000000 0.2500000 0.3333333 0.5000000 1.0000000
## 9 0.1250000 0.1428571 0.1666667 0.2000000 0.2500000 0.3333333 0.5000000
## 10 0.1111111 0.1250000 0.1428571 0.1666667 0.2000000 0.2500000 0.3333333
## 8 9 10
## 1 0.1428571 0.1250000 0.1111111
## 2 0.1666667 0.1428571 0.1250000
## 3 0.2000000 0.1666667 0.1428571
## 4 0.2500000 0.2000000 0.1666667
## 5 0.3333333 0.2500000 0.2000000
## 6 0.5000000 0.3333333 0.2500000
## 7 1.0000000 0.5000000 0.3333333
## 8 0.0000000 1.0000000 0.5000000
## 9 1.0000000 0.0000000 1.0000000
## 10 0.5000000 1.0000000 0.0000000
Moran.I(MO, xymatrix.inv)
## $observed
## [1] -0.009650003
##
## $expected
## [1] -0.006711409
##
## $sd
## [1] 0.007694112
##
## $p.value
## [1] 0.7025151
library(ape)
library(readxl)
CE_table <- read_excel("BD_MORAN.xlsx")
CE_dist <- as.matrix(dist(cbind(CE_table$X_WGS84[1:1000], CE_table$Y_WGS84[1:1000])))
CE_dist_inv <- 1/CE_dist
diag(CE_dist_inv) <- 0
Moran_075 <- Moran.I(CE_table$CEa_075[1:1000], CE_dist_inv)
Moran_150 <- Moran.I(CE_table$CEa_150[1:1000], CE_dist_inv)
Moran_075
## $observed
## [1] 0.5346911
##
## $expected
## [1] -0.001001001
##
## $sd
## [1] 0.006384246
##
## $p.value
## [1] 0
Moran_150
## $observed
## [1] 0.4800138
##
## $expected
## [1] -0.001001001
##
## $sd
## [1] 0.006381354
##
## $p.value
## [1] 0