maptoolsパッケージに含まれる米国ノースカロライナ州の乳幼児突然死症候群(SIDS)のデータを用いて分析を行う。
必要なライブラリーとデータの読み込み。
In [1]:
library(sp)
library(maptools)
library(spdep)
pj <- CRS("+proj=longlat +ellps=clrk66")
f <- system.file("shapes/sids.shp", package = "maptools")
nc <- readShapePoly(f, IDvar ="FIPSNO", proj4string = pj)
データはSpatialPolygonsDataFrameクラスで与えられている。
In [2]:
plot(nc)
coordinates()でポリゴンの幾何中心を求めてプロットする。
asp = 1は縦横比を1に揃える引数である。
xlab = "Longitude", ylab = "Latitude"はそれぞれx軸、y軸のラベルを意味している。
In [37]:
plot(coordinates(nc), asp = 1, xlab = "Longitude", ylab = "Latitude")
空間的自己相関を検定する。
a 大域的自己相関
・MoranのI統計量
・Gearyのc統計量
b 局所的自己相関
・ローカルMoran
In [10]:
nc.nb <- poly2nb(nc)
In [11]:
nc.nb
Out[11]:
In [12]:
nb2listw(nc.nb, style = "B")
Out[12]:
In [14]:
nc.c <- coordinates(nc)
nc.tri.nb <- tri2nb(nc.c)
In [16]:
nc.knn.nb <- knn2nb(knearneigh(nc.c, k = 3))
In [17]:
library(spdep)
s <- nc@data$SID74/nc@data$BIR74 * 1e+05
moran.test(s, nb2listw(nc.knn.nb))
Out[17]:
In [19]:
geary.test(s, nb2listw(nc.nb, style = "B"))
Out[19]:
In [35]:
Imo <- localmoran(s, nb2listw(nc.nb, style = "B"))
head(Imo)
Out[35]:
In [27]:
moran.plot(s, nb2listw(nc.nb, style = "B"))
Starting from a binary neighbours list, in which regions are either listed as neighbours or are absent (thus not in the set of neighbours for some definition), the function adds a weights list with values given by the coding scheme style chosen. B is the basic binary coding, W is row standardised (sums over all links to n), C is globally standardised (sums over all links to n), U is equal to C divided by the number of neighbours (sums over all links to unity), while S is the variance-stabilizing coding scheme proposed by Tiefelsdorf et al. 1999, p. 167-168 (sums over all links to n).
In [ ]: