#### Data base spaziale library(maptools) library(spdep) setwd("D:\\Lavori\\Lezioni_Analisi_Terr\\PIL_conv") #IDS<-seq(1,103,by=1) convSDF<-readShapePoly("ita_pr_conv.shp",IDvar="COD_PRO") COD_PRO<-as(convSDF,"data.frame")$COD_PRO names(convSDF) [1] "COD_PRO" "NAME" "NI93" "NI94" "NI95" "NI01" "NI02" [8] "XCOO" "YCOO" ### Matrici di contiguità ### prov.w1.nb<-read.gal("ita_pr00.GAL", region.id=COD_PRO) prov.w1<-nb2listw(prov.w1.nb, style="W",zero.policy=FALSE) #summary(prov.w1) #summary(convSDF) ### Beta convergenza y<-(log(as(convSDF,"data.frame")$NI02)-log(as(convSDF,"data.frame")$NI93))/9 beta<-log(as(convSDF,"data.frame")$NI93) ris.conv<-lm(y~beta) summary(ris.conv) ### Variabile dummy quadranti I di Moran ris.conv.q<-lm(y~beta+quad) summary(ris.conv.q) ### Regressione spaziale datab<-cbind(y,beta) datab<-as.data.frame(datab) rs.lag<-lagsarlm(y~beta+quad,datab,prov.w1) summary(rs.lag) rs.err<-GMerrorsar(y~beta+quad,datab,prov.w1) summary(rs.err) ### Regressione spaziale con dummy quadranti datab<-cbind(y.w,beta.w) datab<-as.data.frame(datab) rs.lag<-lagsarlm(y.w~beta.w+quad,datab,prov.w1) summary(rs.lag) rs.err<-GMerrorsar(y.w~beta.w+quad,datab,prov.w1) summary(rs.err)### Tasso di crescita delle economie grw<-(as(convSDF,"data.frame")$NI02-as(convSDF,"data.frame")$NI93)/as(convSDF,"data.frame")$NI93 plot(beta,grw,xlab="Situazione iniziale",ylab="Crescita") abline(lsfit(beta,grw)) identify(beta,grw,labels=COD_PRO,cex=0.8) ### Stima della beta convergenza con variabili spatial lag W.NI93<-lag.listw(prov.w1,as(convSDF,"data.frame")$NI93) W.NI02<-lag.listw(prov.w1,as(convSDF,"data.frame")$NI02) y.w<-(log(W.NI93)-log(W.NI02))/9 beta.w<-log(W.NI93) ris.conv.w<-lm(y.w~beta.w) summary(ris.conv.w) ### Tasso di crescita grw.w<-(W.NI02-W.NI93)/W.NI93 plot(beta.w,grw.w,xlab="Situazione iniziale",ylab="Crescita") abline(lsfit(beta.w,grw.w)) identify(beta.w,grw.w,labels=COD_PRO,cex=0.6) ### Moran I ### MC<-moran.test(as(convSDF,"data.frame")$NI93,prov.w1) resI <- localmoran(as(convSDF,"data.frame")$NI93,prov.w1,p.adjust.method="none") fix(resI) ### Scatterplot di Moran ### moran.plot(as(convSDF,"data.frame")$NI93, prov.w1,labels=as.character(as(convSDF,"data.frame")$COD_PRO), pch=19) win.graph() moran.plot(scale(as(convSDF,"data.frame")$NI93), prov.w1,labels=as.character(as(convSDF,"data.frame")$COD_PRO), pch=19,xlim=c(-3,3),ylim=c(-3,3),xlab="NI93",ylab="W_NI93") MC.w<-moran.test(W.NI93,prov.w1) resI.w <- localmoran(W.NI93,prov.w1,p.adjust.method="none") fix(resI) ### Scatterplot di Moran ### moran.plot(W.NI93, prov.w1,labels=as.character(as(convSDF,"data.frame")$COD_PRO), pch=19) win.graph() moran.plot(scale(W.NI93), prov.w1,labels=as.character(as(convSDF,"data.frame")$COD_PRO), pch=19,xlim=c(-3,3),ylim=c(-3,3),xlab="NI93",ylab="W_NI93") ### Creazione della variabile dummy quadranti Moran I x<-(convSDF$NI93) NI93<-(x-mean(x))/sd(x) wfile<-(prov.w1) W_NI93<-lag.listw(wfile,NI93) quad<-0 for(i in 1:103){ if(NI93[i]>0 & W_NI93[i]>0){ quad[i]<-1 } if(NI93[i]>0 & W_NI93[i]<0){ quad[i]<-4 } if(NI93[i]<0 & W_NI93[i]<0){ quad[i]<-3 } if(NI93[i]<0 & W_NI93[i]>0){ quad[i]<-2 }} plot(NI93,W_NI93,xlab="NI93",ylab="W_NI93",cex=1) ##identify(NI93,W_NI93,labels=convSDF$COD_PRO,cex=0.9) abline(v=0,lty=3) abline(h=0,lty=3) abline(lsfit(NI93,W_NI93)) ls<-lsfit(NI93,W_NI93,intercept=F) options(digits=3) im<-(ls$coefficients[1]) ims<-toString(im) title(main=list(paste("Moran I I=",substr(ims,1,5)),cex=1.7)) ### Sigma convergenza NI<-data.frame(convSDF$NI93,convSDF$NI02) y.sigma <- log(NI) sdlogNI <- numeric(2)### crea la variabile sdlogNI for (i in 1:2){ ## lunghezza intervallo temporale in anni sdlogNI[i]=sd(y.sigma[,i]) } years <- c(1993,2002) plot(years,sdlogNI,ylab="Standard deviation of log NI",lwd=2,cex=1.2,pch=19, xlab="Year") lines(years,sdlogNI,lwd=1)