[R-sig-Geo] inverse distance weights matrix

Griffin, Terry W twgriffi at purdue.edu
Sat Mar 18 17:35:14 CET 2006


Thank you Roger,

I've posted the original shape file for the dataset on the website at:
http://web.ics.purdue.edu/~twgriffi/R_matrix.htm

One shape file is projected while the other is not; however both sets of
*.dbf are identical and contain both decimal degrees and Northing and
Easting in meters.  

I chose a <=75 meter distance threshold and a power=1.  

The final inverse distance matrix was row standardized so it is not
symmetric. The weight characteristics you list below are nearly
identical to those that SpaceStat provides.  

I really appreciate this.  Thank you,

Terry



-----Original Message-----
From: Roger Bivand [mailto:Roger.Bivand at nhh.no] 
Sent: Friday, March 17, 2006 5:50 PM
To: Griffin, Terry W
Cc: r-sig-geo at stat.math.ethz.ch
Subject: RE: [R-sig-Geo] inverse distance weights matrix

Terry:

http://web.ics.purdue.edu/~twgriffi/mat4rf

and 

http://web.ics.purdue.edu/~twgriffi/mat4rs

throw access errors.

Do you have the coordinates and your specifications for the inverse 
weighted neighbours (distance threshold, power if any)? 

inMAT <- matrix(scan("cottonID75wm", sep=","), nrow=2451, ncol=2451, 
  byrow=TRUE)

does read the matrix - the weights aren't symmetric, are they?

>From the weights matrix I get:

inMATlw <- mat2listw(inMAT)

print(is.symmetric.nb(inMATlw$neighbours))
[1] TRUE

print(inMATlw$neighbours)
Neighbour list object:
Number of regions: 2451 
Number of nonzero links: 1182982 
Percentage nonzero weights: 19.69208 
Average number of links: 482.6528 

If you could post the coordinates and your specifications, I could see
how 
to reproduce the weights within R if you like.

Roger


On Fri, 17 Mar 2006, Griffin, Terry W wrote:

> 
> The MATLAB routines are the Spatial Econometrics Toolbox format.  I
> tried the read.dat2listw() in R; the code and error message for a
small
> matrix example is below; this uses a full matrix from MATLAB
(realizing
> that "read.dat2listw" is intended for sparse matrices). 
> 
> > mattry<-read.dat2listw("mat4rf")
> Error in "[.default"(sn, , 1) : incorrect number of dimensions
> > traceback()
> 5: NextMethod("[")
> 4: "[.factor"(sn, , 1)
> 3: sn[, 1]
> 2: unique(sn[, 1])
> 1: read.dat2listw("mat4rf")
> 
> 
> I'm not able to use dlmwrite in MATLAB to export the sparse matrix so
I
> tried to import the full matrix into R (code is above).  The MATLAB
code
> I'm using came from this listserve archive.  The MATLAB code and error
> message are below.  I'm able to use dlmwrite to create the MATLAB full
> matrix (used above in the R code).
> 
> load testmat.GWT; A = (spconvert(testmat)); %have to change name in
two
> locations on this line
> n=size(A); nobs=n(1);
>  % Normalize matrix (adapted form LeSage 1999)
> wt = sparse(A);
>  [i1,j1,s1]=find(wt);
> rsum=sum(wt);
> for i=1:nobs;
>             ind=find(i1==i);
> s1(ind,1)=s1(ind,1)/rsum(1,i);
> end;
> [m,n] = size(wt);
> W = sparse(i1,j1,s1,m,n);
> S = sparse(W);
> dlmwrite('mat4rst', S); %give the new sparse weight matrix a permanent
> name for R 
> ??? Error using ==> sprintf
> Function is not defined for sparse inputs.
> 
> Error in ==> dlmwrite at 172
>         str = sprintf(format,m(i,:));
> 
> If anyone wants to give it a try, I've put the small example matrices
> and the "real" matrix up on my website at:
> http://web.ics.purdue.edu/~twgriffi/R_matrix.htm
> 
> My objective is to use R for my spatial data analysis using inverse
> distance weights matrices.  I'm struggling with the inverse distance
> matrices.  I hope to either create these inverse distance matrices in
> SpaceStat then import into R or create the matrices in R.  
> 
> Thank you,
> 
> Terry
> 
> 
> 
> 
> -----Original Message-----
> From: Roger Bivand [mailto:Roger.Bivand at nhh.no] 
> Sent: Friday, March 17, 2006 2:43 PM
> To: Griffin, Terry W
> Cc: r-sig-geo at stat.math.ethz.ch
> Subject: Re: [R-sig-Geo] inverse distance weights matrix
> 
> On Thu, 16 Mar 2006, Griffin, Terry W wrote:
> 
> > Greetings,
> > 
> >  
> > 
> > I'm migrating from MATLAB to R and am having trouble converting
> inverse
> > distance weights matrix into a form usable by R.  I've created the
> > matrix in SpaceStat (in *.FMT format) and converted to *.GWT format
> and
> > also have it in MATLAB *.m format.
> > 
> 
> I wonder whether your Matlab data are in the Spatial Econometrics
> Toolbox 
> format - if they are, you could try the read.dat2listw() function 
> mentioned on the read.gwt2nb function help page.
> >  
> > 
> > I've tried using the read.gwt2nb in R, but without success.  There
are
> > nearly 2,451 observations with an average of 482 linkages.  About 20
%
> > have nonzero weights.  Any suggestions are appreciated.
> 
> Without details of what you mean by "without success", it's hard to
> offer 
> any advice. Could you create a small example of the problems you are 
> seeing, and repost with copies of the commands you give and any error 
> messages? 
> 
> If you are seeing errors ("Error in ..." messages from R), please also
> type traceback() at the prompt and report the output. You could also
put
> the uncooperative GWT file on a website for others to try to see what
is
> going on.
> 
> > 
> >  
> > 
> > Thank you,
> > 
> > Terry
> > 
> >  
> > 
> >  
> > 
> > Terry W. Griffin
> > 
> > Graduate Research Assistant
> > 
> > Agricultural Economics
> > 
> > Purdue University
> > 
> > 403 W State St
> > 
> > West Lafayette, IN 47907
> > 
> > 765-494-4257
> > 
> > http://web.ics.purdue.edu/~twgriffi/
> > <http://web.ics.purdue.edu/~twgriffi/> 
> > 
> >  
> > 
> >  
> > 
> > 
> > 	[[alternative HTML version deleted]]
> > 
> > _______________________________________________
> > R-sig-Geo mailing list
> > R-sig-Geo at stat.math.ethz.ch
> > https://stat.ethz.ch/mailman/listinfo/r-sig-geo
> > 
> 
> 

-- 
Roger Bivand
Economic Geography Section, Department of Economics, Norwegian School of
Economics and Business Administration, Helleveien 30, N-5045 Bergen,
Norway. voice: +47 55 95 93 55; fax +47 55 95 95 43
e-mail: Roger.Bivand at nhh.no




More information about the R-sig-Geo mailing list