[R] Repeating functions

Sean Davis sdavis2 at mail.nih.gov
Thu Dec 29 17:09:13 CET 2005




On 12/29/05 11:01 AM, "Kort, Eric" <Eric.Kort at vai.org> wrote:

> Ronnie Babigumira said...
>> 
>> Hi, I have a number of spatial weight files and using Roger Bivand's spdep, I
>> would like to
>> 
>> 1. Convert them into neighbor lists using
>> 2. Convert the neighbor lists into spatial weights
>> 
>> For a given file, the syntax would be
>> 
>> mygal_nb1 <- read.gal("mygalfile1", override.id = TRUE)
>> myweight1 <- nb2listw(mygal_nb1)
>> 
>> I have mygalfile[i] with i from 1 through to 6 and would like to repeat the
>> above two lines through 1 to 6.
>> something like (the syntax below is not correct...just an illustration)
>> 
>> for (i in 1:6) {
>> mygal_nb[i] <- read.gal("mygalfile[i]", override.id = TRUE)
>> myweight[i] <- nb2listw(mygal_nb[i]
>> }
>> 
>> 
>> Kindly point me in the right direction (whilst read through the material I
>> have)
> 
> Looks like you want to create lists of objects.  Likely the best place to
> start is looking at the section on lists in An Introduction to R (which came
> with your R distribution and can be accessed via help.start(), or you can
> download it here: http://cran.r-project.org/doc/manuals/R-intro.pdf).

To be just a bit more explicit, see (untested) code.  Lists are quite
powerful data structures, so learn to use them well.

 mygal_nb <- list()
 myweight <- list()
 for (i in 1:6) {
 mygal_nb[[i]] <- read.gal(mygalfile[i], override.id = TRUE)
 myweight[[i]] <- nb2listw(mygal_nb[[i]])
 }

Sean




More information about the R-help mailing list