Message-ID: <BFD97459.289F%sdavis2@mail.nih.gov>
Date: 2005-12-29T16:09:13Z
From: Sean Davis
Subject: Repeating functions
In-Reply-To: <CEA39A213F7F2E44A0DED9210BCD352F69725C@VAIEXCH04.vai.org>
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