Interpolation auf Shape-Layer Basis

Allgemeine Statistik mit R, die Test-Methode ist noch nicht bekannt, ich habe noch keinen Plan!

Moderatoren: EDi, jogo

Antworten
knuffikatze
Beiträge: 28
Registriert: Mi Apr 19, 2017 9:04 pm

Interpolation auf Shape-Layer Basis

Beitrag von knuffikatze »

Hallo,

ich habe einen Shape-Layer, der z.B. PLZ darstellt. Dieser Layer beinhaltet auch Score-Werte. Die würde ich gerne interpolieren. Es geht darum, dass in diesen Werten ein paar räumliche Ausreißer vorhanden sind. Kann ich so etwas interpolieren ohne das die Shape-Struktur in ein Raster umgewandelt wird?

Vielen Dank für eure Hilfe.

Gruß
Eva
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Interpolation auf Shape-Layer Basis

Beitrag von EDi »

Du hast also polygone ohne Werte und willst für diese die raumliche Information zur abschätzung nutzen? Hab ich das richtig verstanden? Hast du ein kleines reproduzierbars Beispiel für uns?
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
knuffikatze
Beiträge: 28
Registriert: Mi Apr 19, 2017 9:04 pm

Re: Interpolation auf Shape-Layer Basis

Beitrag von knuffikatze »

Hallo Edi,

ich habe Polygone, die auch einen Wert besitzen. Nun möchte ich diese Werte auf meinem vorhandenem Polygone glätten/ interpolieren oder sonst was. Der Sinn hiervon ist, dass ich diese Werte für die Polygone ohne jeglichen räumlichen Zusammenhang berechnet habe. Somit habe ich aufgrund der Datenunsicherheit manchmal in nur einem Polygon einen Ausreißer, der besonders groß oder klein ist. Das möchte ich in den Griff bekommen.
Vielleicht gibt es hierzu auch eine bessere Möglichkeit.

So ich habe dazu mal ein Beispiel produziert:

http://www.gadm.org/download

PLZ <- readOGR( "DEU_adm1.shp", layer = "DEU_adm1")
PP<-PLZ[,4]
Data<- as.data.frame(t(rbind(c(seq(1,16,1)),c(1,2,3,2,1,2,3,2,1,9,2,3,2,1,2,3))))
colnames(Data)<-c("ID_1","Wert")
m <- merge(PP, Data, by='ID_1')
rainbowcols <- c('#73AC97', '#489074', '#267356', '#0E563B')
classes <- cut(m$Wert,c(1,2,3,10))
plot(m,border = 'darkgrey',lwd=0.001, col = rainbowcols[classes])


Jetzt sieht man auf dem Bild, dass NRW einen wesentlich höheren Wert hat als alle anderen Bundesländer. Da in meinem Fall die Polygone viel, viel kleinräumiger sind, wäre das unwahrscheinlich. Nun möchte ich, dass dies geglättet wird. Dabei möchte ich natürlich meine Grenzen behalten.

Ist das deutlich, was ich vorhabe?

Vielen, vielen Dank für die Hilfe hier im Forum.

Gruß
Eva
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: Interpolation auf Shape-Layer Basis

Beitrag von bigben »

Hallo Eva,

der Link führt mich nicht zu einem klar erkennbaren Datensatz. Wenn Du Code postest, schreib bitte dazu, welche Pakete man dazu braucht und verwende bitte code-Tags. Ohne das Beispiel verstehe ich Dein Problem noch nicht.

LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
knuffikatze
Beiträge: 28
Registriert: Mi Apr 19, 2017 9:04 pm

Re: Interpolation auf Shape-Layer Basis

Beitrag von knuffikatze »

Hallo,

auf der Seite http://www.gadm.org/download kann man auf den Dowmload Button klicken. Damit bekommt man eine zip-Datei, in der unter anderem der Layer DEU_adm1.shp drin ist.

Code: Alles auswählen

library("RColorBrewer")
library(rgdal)
setwd('K:/Eva/Verteilung Optimierung/IS 2017 mit Werbeeffektivität/Interpolation/')
PLZ <- readOGR( "DEU_adm1.shp", layer = "DEU_adm1")
PP<-PLZ[,4]
Data<- as.data.frame(t(rbind(c(seq(1,16,1)),c(1,2,3,2,1,2,3,2,1,9,2,3,2,1,2,3))))
colnames(Data)<-c("ID_1","Wert")
m <- merge(PP, Data, by='ID_1')
rainbowcols <- c('#73AC97', '#489074', '#267356', '#0E563B')
classes <- cut(m$Wert,c(1,2,3,10))
plot(m,border = 'darkgrey',lwd=0.001, col = rainbowcols[classes])
So sollte es funktionieren.

Vielen Dank.
knuffikatze
Beiträge: 28
Registriert: Mi Apr 19, 2017 9:04 pm

Re: Interpolation auf Shape-Layer Basis

Beitrag von knuffikatze »

Hallo,

vielleicht hänge ich hier mal ein Bild an, damit klar wird, was genau ich vorhabe:
Beispiel_R.png
In dem rotem Kreis sieht man hier so Ausreißer. Die möchte ich gerne loswerden. Aber dabei möchte ich meinen Shape Layer nicht verändern.

Habt Ihr ne Idee wie man das umsetzt?

Komme hier leider nicht weiter.

Vielen Dank schon mal.

Gruß
Eva
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Interpolation auf Shape-Layer Basis

Beitrag von EDi »

Ich bin gerade unterwegs und kann nicht adequat antworten,
aber im Buch "Applied Spatial Data Analysis with R" ist ein Kapitel zu "Areal data".
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
knuffikatze
Beiträge: 28
Registriert: Mi Apr 19, 2017 9:04 pm

Re: Interpolation auf Shape-Layer Basis

Beitrag von knuffikatze »

Hallo,

vielleicht könnt Ihr mir vorab schon mal ein paar Stichpunkte zu diesem Thema geben. Funktioniert so etwas über eine Kriging Methode oder benötige ich dafür etwas anderes. An das Buch komme ich leider so schnell nicht dran. Aber danke für den Tipp.

Vielen vielen Dank für eure Hilfe.

Gruß
Eva
Benutzeravatar
EDi
Beiträge: 1599
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Interpolation auf Shape-Layer Basis

Beitrag von EDi »

Die räumliche Statistik ist ein Riesenfeld. :geek:

Oben hab ich schon Stichworte gennannt, schau dir aber auch mal die vignetten des spdep package an (und da das north carolina Beispiel). Das Buch gibt's per Fernleihe oder sogar manchmal als Digitalausgabe in der Bibliothek. Ansonsten auf amazon kaufen oder [illegal].
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.
Antworten