knitr::opts_chunk$set(echo = TRUE)
Esta guía está diseñada para mostrar el funcionamiento del paquete spqdata para testar dependencia espacial en datos cualitativos
En esta guia se usaran dos conjuntos de datos como ejemplos:
Spain: La división de España en provincias. Es una geometría de polígonos que tiene islas
FastFood: El ejemplo de Páez et al en JGS. Es una geometría de puntos
library(spqdata) data("Spain", package = "spqdata") data("FastFood", package = "spqdata")
Es posible generar procesos espaciales con estructura utilizando la función dgp.spq de la misma manera que en @Ruiz2012
rm(list = ls()) set.seed(123) N <- 100 cx <- runif(N) cy <- runif(N) coor <- cbind(cx,cy) p <- c(1/6,3/6,2/6) rho = 0.5 listw <- spdep::nb2listw(knn2nb(knearneigh(coor, k = 4))) fx <- dgp.spq(list = listw, p = p, rho = rho)
Un simple plot
ggplot(data.frame(fx=fx,cx=cx,cy=cy), aes(x=cx, y=cy, color=fx)) + geom_point(size=6) + theme_bw()
m.surround es la función que genera m-historias.
El output es un objeto de la clase m_surr
El cálculo de las h-historias con una función específica tiene
como principal objetivo que el usuario
analice las características del conjunto de m-historias. Mediante el método \code{plot()} el usuario puede explorar la coherencia de las m-historias.
Obtain m-surroundings with degree of overlapping r:
m = 3 r = 1 mh <- m.surround(x = cbind(cx,cy), m = m, r = r) class(mh)
Hay tres métodos desarrollados para esta clase: print, summary y plot
print lista las m-historias
summary resumen de las carácterísticas de las m-historias
summary(mh)
plot(mh, type = 1)
control <- list (dtmaxknn = 10) mh.prune <- m.surround(x = coor, m = m, r = r, control = control) plot(mh.prune)
q.test <- Q.test(fx = fx, coor = coor, m = 3, r = 1)
summary(q.test)
plot(q.test)
# Case 3: With a sf object with isolated areas data("Spain") f1 <- ~ MenWoman q.test.sf <- Q.test(formula = f1, data = spain.sf, m = 3, r = 1)
plot(q.test.sf)
Test QMap publicado en @Ruiz2012b
La función Q.map.test obtiene el test QMap
p <- c(1/6,3/6,2/6) rho = 0.5 QY1 <- dgp.spq(p = p, listw = listw, rho = rho) rho = 0.8 QY2 <- dgp.spq(p = p, listw = listw, rho = rho) dt = data.frame(QY1,QY2) m = 3 r = 1 formula <- ~ QY1 + QY2 control <- list(dtmaxknn = 10) qmap <- Q.map.test(formula = formula, data = dt, coor = coor, m = m, r = r, type ="combinations", control = control)
print(qmap[[1]])
plot(qmap, ci=.6)
listw <- knearneigh(coor, k = 3) srq <- sp.runs.test(fx = fx, listw = listw)
print(srq)
plot(srq)
lsrq <- local.sp.runs.test(fx = fx, listw = listw, alternative = "less")
print(lsrq)
plot(lsrq, sig = 0.05)
data(Spain) listw <- spdep::poly2nb(as(spain.sf,"Spatial"), queen = FALSE) plot(spain.sf["MenWoman"]) formula <- ~ MenWoman # Boots Version lsrq <- local.sp.runs.test(formula = formula, data = spain.sf, listw = listw, distr ="bootstrap", nsim = 199) plot(lsrq, sf = spain.sf, sig = 0.10)
De la familia de test scan para identificar clusters definidos para distintas distribuciones hay dos que se aplican a procesos espaciales de tipo cualitativo
El output es un objeto de las clases scantest y htest
Ver @Kanaroglou2016
El test no necesita la matriz W
El test contrasta la nula de independencia pero añade información adicional señalando uno o varios clústeres con distribición espacial diferencial del resto.
No tiene distribución asintótica. La significatividad se obtiene por remuestreo permutacional
formula <- ~ MenWoman scan.spain <- scan.test(formula = formula, data = spain.sf, case="men", nsim = 99, distr = "bernoulli") print(scan.spain)
data(FastFood) formula <- ~ Type scan.fastfood <- scan.test(formula = formula, data = FastFood.sf, nsim = 99, distr = "multinomial", windows="elliptic", nv = 100) print(scan.fastfood)
summary(scan.fastfood)
plot(scan.spain, sf = spain.sf)
# plot.scantest(scan.fastfood, sf = FastFood.sf)
El papel de @Farber2014 desarrolla un test de similaridad
la función similarity.test calcula el test de similaridad tanto para distribición asintótica como por remuestreo permutacional.
coor <- cbind(FastFood.sf$Lon,FastFood.sf$Lat) listw <- spdep::knearneigh(coor, k = 4) formula <- ~ Type similarity <- similarity.test(formula = formula, data = FastFood.sf, listw = listw) print(similarity)
f1 <- ~ Older65 + MenWoman jc1 <- jc.test(formula = f1, data = spain.sf, distr = "asymptotic", alternative = "greater", zero.policy = TRUE) summary(jc1)
jc1 <- jc.test(formula = f1, data = spain.sf, distr = "mc", alternative = "greater", zero.policy = TRUE) summary(jc1)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.