kopczewska (pliki z kodami) Rozdzia艂 05 Wariogram i korelogram


#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
#>>>>>>>>>>>>>>>>ROZDZIA艁 5>>>>>>>>>>>>>>>>>>>>>>>>>>>
#>>>>>>>>WARIOGRAM I KORELOGRAM>>>>>>>>>>>>>>>>>>>>>>>

#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
#5.2
#Przygotowanie bibliotek

# wczytywanie bibliotek
library(shapefiles)
library(maptools)
library(spdep)
library(geoR)

# liczenie koordynat
euro.shape1<-read.shape("c:/euro/euro.shp", dbf.data=TRUE, verbose=TRUE)
centr<-get.Pcent(euro.shape1)
centr1<-as.data.frame(centr)
names(centr1)<-c(搙coords","ycoords")
print(centr1)
names(euro.dane) # zosta艂y dodane dwie ostatnie zmienne

#tworzenie obiektu klasy geodata
euro.geoR<-as.geodata(euro.dane, coords.col = 7:8, data.col = 9)
is.geodata(euro.geoR) # sprawdzenie, czy obiekt jest klasy geodata

#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
#5.3
# liczenie i rysowanie wariogramu
vario1<-variog(euro.geoR)
plot(vario1, type="l", main="Wariogram wielokierunkowy dla zmiennej Z1_1995
PKB wg PPP w 1995r.")
text(2.3e+05, 5.2e+08, "nugget variance", adj=c(1,1))
text(1.085e+06,1.8e+09,"sill")
text(1.085e+06,0,"range")

# Podsumowanie wariogramu
print(vario1)

#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
#5.4
#wariogram skalowany

# por贸wnanie wariogram贸w bez skalowania i ze skalowaniem.
euro.geoR.Z1_1995<-as.geodata(euro.dane, coords.col = 7:8, data.col = 9)
euro.geoR.PZ1<-as.geodata(euro.dane, coords.col = 7:8, data.col = 27)
par(mfrow=c(1,2))
vario1<-variog(euro.geoR.Z1_1995)
vario2<-variog(euro.geoR.PZ1)
plot(vario1, type="l", main="nieskalowany dla Z1_1995")
plot(vario2, type="l", main="nieskalowany dla PZ1")
plot(vario1, type="l", scaled=TRUE, main="skalowany dla Z1_1995", var.lines=TRUE)
plot(vario2, type="l", scaled=TRUE, main="skalowany dla PZ1", var.lines=TRUE)

#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
# 5.5
# przetwarzanie wynik贸w wariogramu
# modyfikacja wydruku
vario.val1<-vario1$v # tworzenie obiektu z warto艣ci wariogramu
vario.val<-as.data.frame(vario.val1) # zmiana formatu na liczbowy obiektu warto艣ci wariogramu
names(vario.val)<-c(搗ariog.values") # zmiana nazwy zmiennej
is.data.frame(vario.val) # sprawdzenie, czy obiekt jest klasy data frame
vario.val # wy艣wietlenie zmiennej warto艣ci wariogramu jako danych liczbowych
var(euro.dane$Z1_1995) # policzenie wariancji pr贸bkowej
variog.scaled<-vario.val$variog.values/var(euro.dane$Z1_1995) # warto艣ci wariogramu skalowanego
vario.dist1<-vario1$u # obiekt warto艣ci odleg艂o艣ci dla jakich liczony jest wariogram
vario.dist<-as.data.frame(vario.dist1)
names(vario.dist)<-c(搗ariog.distance") # zmiana nazwy zmiennej
vario.dist.km<-vario.dist$variog.distance/900.90 # przeliczenie punkt贸w na mapie na km
vario.all<-cbind(vario.dist, vario.dist.km, vario.val, variog.scaled) # po艂膮czenie wszystkich zmiennych w jeden wydruk
vario.all


#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
# 5.6
# por贸wnania graficzne wariogram贸w

# dwa wariogramy na jednym wykresie
plot(vario1, type="l", scaled=TRUE, var.lines=TRUE)
lines(vario2, type="l", scaled=TRUE)


#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
# 5.7
# obwiednie wariogramu

par(mfrow=c(1,2))
# rysowanie wariogramu i testowanie autokorelacji przestrzennej
euro.geoR<-as.geodata(euro.dane, coords.col = 7:8, data.col = 10)
vario1<-variog(euro.geoR)
vario1.env<-variog.mc.env(euro.geoR, obj.var=vario1)
plot(vario1, envelope=vario1.env, type="l")
title(main="wariogram dla zmiennej Z2_1995")

euro.geoR<-as.geodata(euro.dane, coords.col = 7:8, data.col = 28)
vario1<-variog(euro.geoR)
vario1.env<-variog.mc.env(euro.geoR, obj.var=vario1)
plot(vario1, envelope=vario1.env, type="l")
title(main="wariogram dla zmiennej PZ2")

#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
# 5.8
# r臋czne dopasowanie wariogramu
# dopasowanie wzrokowe funkcji rozk艂adu do empirycznego wariogramu
eyefit(vario1, silent = FALSE)

#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
# 5.9
# estymacja wariogramu

euro.geoR.Z1_1995<-as.geodata(euro.dane, coords.col = 7:8, data.col = 9)

# dopasowanie przez MNW do danych empirycznych funkcja
likfit()
vario.likfit<-likfit(euro.geoR.Z1_1995, ini=c(0.5, 0.5), fix.nugget=TRUE)
print(vario.likfit)
summary(vario.likfit)


######################
###### Przyk艂ad 12 ######
######################
# dopasowanie przez MNW do danych empirycznych - funkcja likfit()
vario.likfit<-likfit(euro.geoR.Z1_1995, ini=c(0.5, 0.5), fix.nugget=TRUE)
print(vario.likfit)
summary(vario.likfit)

#dopasowanie przez MNK do danych empirycznych - funkcja variofit()
vario.variofit<-variofit(vario1, ini.cov.pars=c(100000000,1000000))
print(vario.variofit)
summary(vario.variofit)


# rysunek wariogram贸w
plot(vario1)
lines(vario1.fit)
lines(vario1.fitvario)

######################

#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
# 5.11
# wyliczenie i rysowanie korelogramu

# korelogram oparty na klasycznym wsp贸艂czynniku korelacji
corr.classic<- sp.correlogram(euro.nb, euro.dane$Z1_1995, order=6, method="corr")

# korelogram oparty na wsp贸艂czynniku autokorelacji I Morana
corr.moran<-sp.correlogram(euro.nb, euro.dane$Z1_1995, order=6, method="I")

print(corr.classic)
print(corr.moran)

par(mfrow=c(1,2))
plot(corr.moran, main="Rys.a")
plot(corr.classic, main="Rys.b")

# testy istotno艣ci dla I Morana
corr.moran<-sp.correlogram(euro.nb, euro.dane$Z1_1995, order=6, method="I")
# tworzenie statystyki testowej
stat <- apply(corr.moran$res, 1, function(x) (x[1]-x[2])/sqrt(x[3]))
# tworzenie tabeli z p-value
corr.moran<-cbind(corr.moran$res, stat, p.adjust(2*pnorm(abs(stat), lower.tail=FALSE)))
colnames(corr.moran)<-c("I Morana", "E(I)", "Var(I)", "ZI", "p-value")
corr.moran

# testy istotno艣ci dla wsp贸艂czynnika korelacji liniowej
corr.classic<- sp.correlogram(euro.nb, euro.dane$Z1_1995, order=6, method="corr")
# p臋tla licz膮ca liczb臋 obserwacji n w ka偶dym op贸藕nieniu
for(i in 1:6)
{obs[i]<-sum(unlist(corr.classic$cardnos[i])*as.numeric(names(unlist(corr.classic$cardnos[i]))))}
corr<-cbind(corr.classic$res, obs)
corr<-as.data.frame(corr)
colnames(corr)<-c("r", "n")
# statystyka testuj膮ca i skorygowane p-value
stat<-(corr$r/sqrt(1-(corr$r)^2))*sqrt(corr$n-2)
pval<-p.adjust(1-pnorm(abs(stat)), method="bonferroni", n=length(stat))
corr<-cbind(corr, stat, pval)
corr



Wyszukiwarka

Podobne podstrony:
kopczewska (pliki z kodami) Rozdzia艂 02 Podstawowe operacje
kopczewska (pliki z kodami) Rozdzia艂 03 Macierze wag
kopczewska (pliki z kodami) Rozdzia艂 04 Statystyki globalne i lokalne
kopczewska (pliki z kodami) Rozdzia艂 06 Modelowanie przestrzenne
kopczewska (pliki z kodami) czytaj
Lista projekt贸w wybranych wraz z kodami 27 05 2014
05 rozdzia艂 05
ROZDZIA艁 05 Dziedziczne nowotwory nerek
07 Rozdzia艂 05 Ca艂ka funkcji dw贸ch zmiennych
06 Rozdzia臋 05
06 rozdzia艂 05 26pdmeq2uxr33udenjgfxnhbbmddcafwcxjosqa
Rozdzia艂 05 Kontroler DMA

wi臋cej podobnych podstron