讀取資料與初步整理
library(sf);library(spdep);library(units)
setwd("D:/SA_Book/Lab_Data_Ch7")
dengue=st_read(dsn="Dengue_Case.shp")
town=st_read(dsn="KAOH_town.shp")
問題7-1:Moran’s I
請問高雄市各區的感染人數比例是否有空間相依的特徵?
#計算各行政區的病例數
town$COUNT=lengths(st_contains(town,dengue))
#計算各行政區的感染人數比例
town$CASE_PRCNT=town$COUNT/town$CENSUS*1000
#產生鄰近關係矩陣,此處以距離矩陣倒數來權重,以行政區中心點之間距離來計算
# st_centroid函數:行政區中心點
center=st_centroid(town)
# st_distance函數:計算距離
dist=st_distance(center)
dist=drop_units(dist)
# 計算倒數設定權重,並將超過閾值距離的關係權重設為0
weight=1/dist #倒數
weight[dist>14012]=0 #參考ArcGIS參數將閾值設為14012公尺
diag(weight)=0 #自身非鄰近關係
# 將距離矩陣轉成鄰近格式,並進行列標準化(style="W")
town.nbw=mat2listw(weight,style="W")
# moran.test函數:計算Moran's I指數
moran.test(town$CASE_PRCNT,town.nbw)
##
## Moran I test under randomisation
##
## data: town$CASE_PRCNT
## weights: town.nbw
##
## Moran I statistic standard deviate = 6.2411, p-value = 2.172e-10
## alternative hypothesis: greater
## sample estimates:
## Moran I statistic Expectation Variance
## 0.576484813 -0.027027027 0.009350662
計算結果Moran’s I指數為0.5765,Z分數為6.2411,p值為0。因此為顯著群聚。
問題7-2:Incremental Moran’s I
承問題7-1,若高雄市下半年度的登革熱感染人數比例呈空間相依特徵,則找到群聚的空間影響範圍將有助於地方衛生單位在防疫措施的規劃與介入上更有效率。請問感染人數比例最顯著的空間影響範圍為何?
# 此處以距離範圍內來設定鄰近關係,以行政區中心點之間距離來計算
# dnearneigh函數:設定d1~d2距離內為鄰近的定義
# 此處如同書本範例中ArcGIS的預設數值,從14011公尺到24156公尺取10個等分的距離
coord=st_coordinates(center)
dists=seq(14011,24156,length.out=10)
DATAs=c()
# 以迴圈的方式計算個個距離的Moran's I
for(d in dists){
dnear=dnearneigh(coord, d1=0, d2=d)
town.dw=nb2listw(dnear,zero.policy=T,style="W")
moran=moran.test(town$CASE_PRCNT,town.dw,alternative="two.sided") #以雙尾計算p-value
data=as.numeric(c(moran$estimate,moran$statistic,moran$p.value))
DATAs=rbind(DATAs,data)
}
DATAs=data.frame(DATAs)
colnames(DATAs)=c("Moran's I","Expectation","Variance","Z.score","p.value")
rownames(DATAs)=round(dists,2)
plot(DATAs$Z.score~dists,type='b',xlab="Distance",ylab="z-score")
DATAs
## Moran's I Expectation Variance Z.score p.value
## 14011 0.4689121 -0.02702703 0.008654888 5.330864 9.774644e-08
## 15138.22 0.4555019 -0.02702703 0.007919652 5.422135 5.889136e-08
## 16265.44 0.4295765 -0.02702703 0.007278437 5.352051 8.696312e-08
## 17392.67 0.3945833 -0.02702703 0.006886124 5.080703 3.760399e-07
## 18519.89 0.3554855 -0.02702703 0.006405136 4.779489 1.757417e-06
## 19647.11 0.3354391 -0.02702703 0.004763171 5.251936 1.505090e-07
## 20774.33 0.3203705 -0.02702703 0.004494008 5.182148 2.193456e-07
## 21901.56 0.3111868 -0.02702703 0.004199551 5.219032 1.798605e-07
## 23028.78 0.2883170 -0.02702703 0.004044462 4.958544 7.102354e-07
## 24156 0.2583669 -0.02702703 0.003737112 4.668493 3.034178e-06
問題7-3:G-statistics
承問題7-1及7-2,若高雄市下半年度的登革熱感染人數比例存在空間相依性,請問其相依特徵是熱區或冷區較為明顯?
# globalG.test函數:計算G指數
globalG.test(town$CASE_PRCNT,town.nbw)
##
## Getis-Ord global G statistic
##
## data: town$CASE_PRCNT
## weights: town.nbw
##
## standard deviate = 6.561, p-value = 2.672e-11
## alternative hypothesis: greater
## sample estimates:
## Global G statistic Expectation Variance
## 5.449009e-02 2.702703e-02 1.752078e-05
計算結果G指數為0.0545,Z分數為6.561,p值為0。因此有明顯熱區特徵。