So stay with errorsarlm() for error SAR models, or spautolm() for a wider selection of error models.
=> ?spautolm, which shows Spatial conditional and simultaneous autoregression model estimation Description: Function taking family and weights arguments for spatial autoregression model estimation by Maximum Likelihood, using full matrix methods, not suited to large data sets with thousands of obse'interval=' argument should be set. both SAR and CAR were tried but run very well with 4000 data sets here. In the results, CAR seems to be more suitable than SAR based on log-likelihood and AIC. Elaine Results > summary(mignb8.sar) Call: spautolm(formula = datam.std$SummerM_ratio ~ datam.std$coast + datam.std$topo_mean + datam.std$prec_mean, data = datam.std, listw = nb8.w, na.action = na.omit, family = "SAR", method = "Matrix", verbose = TRUE, zero.policy = TRUE) Residuals: Min 1Q Median 3Q Max -0.4775092 -0.0438067 -0.0045993 0.0405448 0.4616156 Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) 3.8716032 1.2590572 3.0750 0.002105 datam.std$coast 0.0149182 0.0052961 2.8169 0.004850 datam.std$topo_mean 0.0142579 0.0024689 5.7751 7.690e-09 datam.std$prec_mean -0.0427762 0.0033422 -12.7988 < 2.2e-16 Lambda: 0.999 LR test value: 13678 p-value: < 2.22e-16 Log likelihood: 4909.326 ML residual variance (sigma squared): 0.007599, (sigma: 0.087172) Number of observations: 4873 Number of parameters estimated: 8 AIC: -9802.7 > summary(mignb8.car) Call: spautolm(formula = datam.std$SummerM_ratio ~ datam.std$coast + datam.std$topo_mean + datam.std$prec_mean, data = datam.std, listw = nb8.w, na.action = na.omit, family = "CAR", method = "Matrix", verbose = TRUE, zero.policy = TRUE) Residuals: Min 1Q Median 3Q Max -0.487501 -0.086579 0.011347 0.116020 0.970053 Coefficients: Estimate Std. Error z value Pr(>|z|) (Intercept) 1.7232148 0.0516192 33.383 < 2.2e-16 datam.std$coast 0.3527424 0.0050680 69.603 < 2.2e-16 datam.std$topo_mean 0.0563818 0.0029408 19.172 < 2.2e-16 datam.std$prec_mean -0.0722950 0.0040828 -17.707 < 2.2e-16 Lambda: 0.999 LR test value: 11133 p-value: < 2.22e-16 Log likelihood: 3636.802 ML residual variance (sigma squared): 0.012985, (sigma: 0.11395) Number of observations: 4873 Number of parameters estimated: 8 AIC: -7257.6 code rm(list=ls()) datam <-read.csv("c:/migration/Mig_ratio_20100808.csv",header=T, row.names=1) dim(datam) library(ncf) # Define coordinates, neighbours, and spatial weights coords<-cbind(datam$lon,datam$lat) coords<-as.matrix(coords) # Define neighbourhood (here distance 8) nb8<-dnearneigh(coords,0,8.12) summary(nb8) # Spatial weights, illustrated with coding style "W" (row standardized) nb8.w<-nb2listw(nb8, glist=NULL, style="W") # std model datam.sd<-scale(datam) datam.std<-as.data.frame(datam.sd) summary (datam.std) mean(datam.std) # obtain standard deviation sd(datam.std) mig.std <-lm(datam.std$Summer~datam.std$coast+datam.std$topo_var+datam.std$prec_ran,data=datam.std) summary(mig.std) # SAR of spautolm mignb8.sar <- spautolm(datam.std$Summer~datam.std$coast+datam.std$topo_var+datam.std$prec_ran,data=datam.std, listw=nb8.w, na.action=na.omit, , zero.policy=TRUE, family="SAR", method="Matrix", verbose=TRUE) summary(mignb8.sar) # CAR of spautolm mignb8.car <- spautolm(datam.std$Summer~datam.std$coast+datam.std$topo_var+datam.std$prec_ran,data=datam.std, listw=nb8.w, na.action=na.omit, , zero.policy=TRUE, family="CAR", method="Matrix", verbose=TRUE) summary(mignb8.car) > > [[alternative HTML version deleted]] _______________________________________________ R-sig-Geo mailing list R-sig-Geo@stat.math.ethz.ch https://stat.ethz.ch/mailman/listinfo/r-sig-geo