On Thu, 16 Aug 2012, Alok K Bohara, PhD wrote:

(I am new to this group.) I have a two-part question. I have a shape file for the US states (excluding Alaska and Hawaii)

I am trying to export (or save) the nearest neighbor list to a csv or text file.


This is what I did

***
USs <- readShapeSpatial("usa")

# Creating Neighbor List
USs.nb <- poly2nb(USs)
IDs <- row.names(as(USs, "data.frame"))

NeighMap <- nb2gra(USs.nb)
NeighList <- get.neighbor(NeighMap, IDs)
summary(NeighList)

(IDs extracted above begins from 0, 1, 2,... 50).

***

Is there any way I could save/export the neigbor list as follows where the first line is the number of cells/states (49) and the rest of the lines as whown below:

Do you have a reason for using this format rather than the standard GAL format, which is:

n
1 #neigh1
neigh11 neigh12 ...
2 #neigh2
neigh21 neigh22 ...

etc, that is two lines per observation, the first giving its ID and the count of neighbours, and which can be read by many applications?

The following will do what you want, but I don't think you should:

library(spdep)
data(columbus)
tf <- tempfile()
con <- file(tf, open="wt")
n <- length(col.gal.nb)
writeLines(paste(n), con=con)
for (i in seq(along=col.gal.nb))
 writeLines(paste(i, paste(col.gal.nb[[i]], collapse=" ")), con=con)
close(con)
file.show(tf)

read.gal() and write.nb.gal() handle settings in which the observations have IDs which are not necessarily the integers 1:n, and do sanity checking.

Hope this helps,

Roger


49
1  3 4 18 21
2  2 5 4
3  2 8 12 15 32
.
.
49  3 9 11
etc...

****

Thanks.


Sincerely,

Alok Bohara
UNM

_______________________________________________
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo


--
Roger Bivand
Department of Economics, NHH Norwegian School of Economics,
Helleveien 30, N-5045 Bergen, Norway.
voice: +47 55 95 93 55; fax +47 55 95 95 43
e-mail: roger.biv...@nhh.no

_______________________________________________
R-sig-Geo mailing list
R-sig-Geo@r-project.org
https://stat.ethz.ch/mailman/listinfo/r-sig-geo

Reply via email to