Raport

Autokorelacja przestrzenna jest to korelacja pomiędzy wartościami tej samej zmiennej w różnych punktach przestrzeni

Cel ćwiczenia

Celem ćwiczenia jest wykorzystanie wskaźnika I Morana do obliczania autokorelacji przestrzennej. W tym celu zostaną użyte dane dotyczące (?) dla województwa…. Przeanalizujemy czy zjawisko bezrobocia w powiatach (stopa bezrobocia) jest skorelowane przestrzennie.

Opis danych

W ramach tego projektu użyte zostały: • Dane o stopie bezrobocia zostały pobrane z GUS • warstwę wektorową z granicami powiatów (st_read) • plik csv wykorzystując read.csv2().

Obszar badań

Obszarem badań jest województwa: śląskie oraz podkarpackie.

Kolejne kroki przetworzeń

Na samym początku należy zainstalować oraz wczytać pakiet: sf, dplyr oraz tidyverse.

Następnie wczytujemy do projektu warstwę wektorową z granicami powiatów (st_read) oraz plik csv wykorzystując read.csv2(). Dzięki temu można zwizualizować województwa uwzględniając jego atrybuty.

Aby dołączyć do obiektu sf z granicami powiatów tabelę ze stopą bezrobocia wykorzystamy funkcję left_join() z pakietu dplyr.

pow_wsk = left_join(pow, wsk, "pow_kod")

Bardzo możliwe, że podczas próby uruchomienia funkcji wyskoczy błąd mówiący, że kolumny „pow_kod” są niekompatybilnych typów. Trzeba je wtedy zamienić na wspólny (np. factor lub character):

wsk$pow_kod = as.factor(wsk$pow_kod)

Po tym można ponownie uruchomić left_join(). Następnie po kodzie województwa (atrybut kod_woj) należy wybrać powiaty tylko te które należą do dwóch sąsiadujących województw. Lista kodów przyporządkowanych dla województw jest dostępna w Internecie.

wybrane = pow_wsk[pow_wsk$kod_woj %in% c(12,24),]

Następnie zainstaluj i wczyatj pakiet “spdep”.

Kolejnym eteapem będzie wykorzystanie funkcji “poly2nb”. Pozwoli to na zdefiniowanie sąsiedztwa tzn. sąsiadami danego powiatu będą wszystkie powiaty przylegające.

sasiedzi = poly2nb(wybrane)

Do zwizualizowania sąsiedztwa najpierw wyplotujemy same granice, a następnie linie łączące centroidy danych powiatów z centroidami sąsiadów.

plot(sasiedzi, st_geometry(st_centroid(wybrane)), add=TRUE, col='red')

Następnie obliczone zostaną wskaźniki I Morana. Funkcją nb2listw() nadamy wagi przestrzenne do listy sąsiadów.

wagi = nb2listw(sasiedzi)

Następnie obliczone zostanie globalne I Morana.

moran.test(wybrane$stopa_bezrobocia, wagi)

Następnie obliczone zostaną lokalne wartości I Morana.

local = localmoran(x = wybrane$stopa_bezrobocia, wagi)

Wynikiem są wartości I Morana dla każdego z analizowanych powiatów. Funkcją “cbind” możemy dołączyć go do naszego obiektu “wybrane”.

moran.map = cbind(wybrane, local)

Aby utworzyć mapę lokalnego I Morana należy zastosować następujący zapis.

tm_shape(moran.map) +
 tm_borders(col = "black")+
 tm_fill(col = "Ii",
 style = "quantile",
 title = "local moran statistic")

Wizualizacja