[R] R Sig-Geo group - loop for creating spatial matrix

Giorgio Garziano giorgio.garziano at ericsson.com
Tue Feb 2 09:48:37 CET 2016


Dear Francesco,

from that point ahead, you have to handle a list of “nb” objects.
I used class() in order to show you what the list is made of.

The R code outlined in your reply may follow a pattern like this (showing an option):

for (val in z) {
    dlwknn.B <- nb2listw(neighbors.knn[[val]], style="B", zero.policy=TRUE)
    globalG.test(CRIME, dlwknn.B, zero.policy=F)
}


You may want to collect the results of the GlobalG.test in a list as well, the

help(globalG.test) provides an example at the bottom of its R help page.

To further point out that R language makes possible to implement functions call
over a list without specifying “for” loops. Some examples at:

http://www.r-bloggers.com/using-apply-sapply-lapply-in-r/


The R-SIG-Geo mailing list is reachable at:

https://stat.ethz.ch/pipermail/r-sig-geo/

if that was your original intention.


Best,

--
GG

From: Francesco Perugini [mailto:francesco.perugini at yahoo.it]
Sent: martedì 2 febbraio 2016 09:24
To: Giorgio Garziano
Subject: Re: [R] R Sig-Geo group - loop for creating spatial matrix

Dear Giorgio,
thanks a lot for your reply.
From here now,  I want to implement the Global G test for spatial autocorrelation for the generated different matrix and plot the Global G statistic (on the y-axes) against different val (on the x-axis). How should the code be? I've tried the following:

# Global G
dlwknn.B <- nb2listw(class(neighbors.knn[[val]]), style="B", zero.policy=TRUE)
globalG.test(CRIME, dlwknn.B, zero.policy=F)

but it is not working. Thanks a lot for your help..
franc.per


________________________________
Da: Giorgio Garziano <giorgio.garziano at ericsson.com<mailto:giorgio.garziano at ericsson.com>>
A: "r-help at r-project.org<mailto:r-help at r-project.org>" <r-help at r-project.org<mailto:r-help at r-project.org>>
Cc: "francesco.perugini at yahoo.it<mailto:francesco.perugini at yahoo.it>" <francesco.perugini at yahoo.it<mailto:francesco.perugini at yahoo.it>>
Inviato: Lunedì 1 Febbraio 2016 20:39
Oggetto: Re: [R] R Sig-Geo group - loop for creating spatial matrix

You may handle that as a list of “nb” objects.

library(spdep)
example(columbus)
coord <- coordinates(columbus)

z <- c(1,2,3,4,5,6,7,8,9)
neighbors.knn <- list()

for (val in z) {
  neighbors.knn <- c(neighbors.knn, list(knn2nb(knearneigh(coord, val, longlat=F), sym=F)))
}

class(neighbours.knn)

class(neighbors.knn[[1]])
plot(neighbors.knn[[1]], coord)

class(neighbors.knn[[2]])
plot(neighbors.knn[[2]], coord)

and so on.

Best,

--
GG



	[[alternative HTML version deleted]]



More information about the R-help mailing list