Pomiar nierówności w rozwoju przemysłu – próba wskazania zależności koncentracji zatrudnienia w danych gałęziach przemysłu od wydajności/bogactwa
Otrzymanie prostego w analizie wskaźnika umożliwiającego badanie zmian struktury zatrudnienia w regionie
Wczytanie danych - mapa jest przetrzymywana w postaci pliku shapefile, zaś informacje nt. firm jako plik csv.
library(rgdal)
shp <- readOGR("C:\\Users\\Max\\Desktop\\SPAG\\SPAG\\materials\\koncentracja\\mapa6wybr.shp","mapa6wybr")
## OGR data source with driver: ESRI Shapefile
## Source: "C:\Users\Max\Desktop\SPAG\SPAG\materials\koncentracja\mapa6wybr.shp", layer: "mapa6wybr"
## with 6 features
## It has 29 fields
df <- read.csv("C:\\Users\\Max\\Desktop\\INDEKS SPAG SEMINARIUM\\zmysloneFirmy.csv", sep=";",header=TRUE,row.names=NULL)
plot(shp)
points(df[,1],df[,2], pch=".")
Narysowanie obszaru razem z firmami:
library("rgeos")
findRadius <- function(vectorOfEmployment, area){
return (sqrt(area/(sum(vectorOfEmployment)*pi)))
}
area <- gArea(shp)
rBase <- findRadius(df[,3],area)
vectorOfRadius <- sqrt(df[,3])*rBase
print(df[,3])
## [1] 5 8 2 13 123 6 3 75 4 2 6 8 16
print(vectorOfRadius)
## [1] 0.07481575 0.09463527 0.04731764 0.12063678 0.37107406 0.08195655
## [7] 0.05795203 0.28976016 0.06691724 0.04731764 0.08195655 0.09463527
## [13] 0.13383449
xy <- cbind(as.numeric(df[,1]), as.numeric(df[,2]))
xySP<- SpatialPoints(xy) # wymagane do gBuffer
circles <-gBuffer(xySP, quadsegs=150, byid=TRUE, width=vectorOfRadius)
projekcja<-"+proj=longlat +datum=WGS84"
region<-spTransform(shp, CRS(projekcja))
# Narysowanie kółek
ramka<-as.matrix(region@bbox)
#plot(region)
plot(circles, xlim=c(ramka[1,1]-0.6, ramka[1,2]), ylim=c(ramka[2,1], ramka[2,2]))
plot(region, add=TRUE)
points(as.numeric(as.character(df[,1])),as.numeric(as.character(df[,2])), pch=".")
theoreticalCompanies <- spsample(region, nrow(df), type="regular")
plot(region)
plot(theoreticalCompanies, add=TRUE)
theoreticalDF <- as.data.frame(theoreticalCompanies)
odle.teoret.sel<-dist(as.matrix(theoreticalCompanies@coords))
mean(dist(as.matrix(df[1:2])))/mean(odle.teoret.sel)
## [1] 0.1539606
Wyliczenie współrzędnych indeksu Overlap:
library("maptools")
unionArea <- unionSpatialPolygons(circles,rep(1,13))
gArea(unionArea)/gArea(circles)
## [1] 0.4538745