knitr::opts_chunk$set(echo = TRUE, warning=FALSE, message=FALSE)

Die Asyldaten von Eurostatü

In diesem Artikel werfen wir einen Blick auf die Erstentscheidungen von den afghanischen Fl?chtlingen in Europa.

Eurostat ist das statistische Amt der Europäischen Union. Es sammelt und veröffentlicht Daten zu vielen Themen, auch zu Asyl und Migration.

Besonders interessant sind die Erstentscheidungsdaten. Das Datenset trägt den hübschen Namen migr_asydcfsta: "Erstinstanzliche Entscheidungen über Asylanträge nach Staatsangehörigkeit, Alter und Geschlecht Jährliche aggregierte Daten".

Für Deutschland sind das die Entscheidungen des Bundesamts für Migration und Flüchtlinge (BAMF). Die Bezeichnung "erstinstanzlich" ist hier etwas verwirrend, denn die erste juristische Instanz ist hier das Verwaltungsgericht, dass über Klagen gegen die Entscheidung des BAMF entscheidet.

Zurück zu unseren Daten. Sie decken die Jahre 2008 bis 2017 ab (Stand August 2018). Sie sind ziemlich groß - 85 Mb und 13 Millionen Werte. Ich lade sie mit Wir starten mit einem reduzierten Datenset, das mit dem folgenden Code herausgeholt und gespeichert wurde:

library(eurostat)
migr_asydcfsta=get_eurostat("migr_asydcfsta")
saveRDS(migr_asydcfsta, file="/tmp/migr_asydcfsta_20180812.rds")

Die Daten decken die 32 europ?ischen Staaten ('geo'). Manche haben nicht genug Daten, um damit n?tzliche Analysen zu machen. Last uns diese ignorieren.

Im Code darunter reduzieren wir die Daten auf * Nur alle Altersgruppen und alle Geschlechter * Nur Afghanistan * F?r jetzt nur 2017 * Nur europ?ische Staaten mit mindestens 500 Entscheidungen in dem Jahr * only columns of interest

library(knitr)
library(dplyr)
migr_asydcfsta=readRDS(file="/tmp/migr_asydcfsta_20180812.rds")

Last uns einen kurzen Blick auf das werfen, was wir bereits schon haben.

# The first few rows:
glimpse(migr_asydcfsta)
# Some first statistics, also showing the categories (sex, age, decisions):
summary(migr_asydcfsta)

Dies ist zu viel Information. Lasst uns dies reduzieren:

cutoff=3000
major_geo_total=filter(migr_asydcfsta, values > cutoff, time == "2017-01-01", decision == "TOTAL", sex == "T", age == "TOTAL", citizen == "AF", geo != "EU28", geo != "TOTAL") %>% 
  select(geo,values) %>%
  arrange(desc(values))

Ein erster Blick in die Daten

# Die ersten paar Spalten
View(major_geo_total)

Reduzierung auf die in den Entscheidungen relevanten Staaten

OK, das ist das, womit wir arbeiten werden.

Die erste Frage ist: Wie viel Information haben wir verloren, indem wir die Staaten mit weniger als 500 Entscheidungen ignoriert haben?

Als ich mir die Daten pro Staat angeschaut habe, war ich ?berrascht. 2017 gab es 15 L?nder mit mehr als 1000 Entscheidungen ?ber Asylantr?ge von afghanischen Fl?chtlingen. Die restlichen 17 Staaten sind nur f?r 580 Entscheidungen verantwortlich.

Es gab insgesammt 184.265 Entscheidungen.

    other_geo_total=filter(migr_asydcfsta, values <= cutoff, time == "2017-01-01", decision == "TOTAL", sex == "T", age == "TOTAL", citizen == "AF", geo != "EU28", geo != "TOTAL") %>%  arrange(desc(values))
dec_others <- sum(other_geo_total$values)

Wenn du das nicht glaubst, gut. Mistrauen in Daten ist gut. Du kannst es dir bei eurostat migr_asydcfsta anschauen. Unsere wichtigen Staaten sind:

View(major_geo_total)

Dies sind die L?ndercodes. Die L?ndercoes k?nnen hier gefunden werden. Normallereweise ist es m?glich, die Codes mit label_eurostat zu bekommen, aber es hat anscheinend neuerdings Probleme. xxx do this part later xxx xxx XX is the rest xxx xxx no Spain, no

Kuchen der europ?ischen Staaten, Entscheidungen 2017 der Asylantr?ge Afghanistan

library(ggplot2)
# some technical workarounds for adding the row with the others (XX),
# and for sorting
major_geo_total$geo <- as.character(major_geo_total$geo)
all_geo_total <- rbind(major_geo_total, c("XX",dec_others))
all_geo_total$values <- as.numeric(all_geo_total$values) 
all_geo_total$geo <- factor(all_geo_total$geo, levels = arrange(all_geo_total, values)$geo)

geo_dec_pie <- ggplot(all_geo_total, aes(x="", y=values, fill=geo)) + geom_col(colour = "black") + coord_polar("y", start=0) + scale_fill_grey(start = 0.4, end = 0.9) + ggtitle ("Decisions on Afghan asylum Cases 2017", subtitle = "EU countries")
geo_dec_pie
View(major_geo_total)

xxx compare population of these EU countries? histogram xxx

Die Entscheidungen: GENCONV + HUMSTAT + SUB_PROT + TEMP_PROT + REJECTED = TOTAL_POS + REJECTED = TOTAL

Nun, wie haben die 15 L?nder 2017 entschieden? Wir haben im vorherigen Schritt zu sehr reduziert, wir brauchen alle Entscheidungen und nicht nur TOTAL.

major_geo <-filter(migr_asydcfsta, values > cutoff, time >= "2017-01-01", sex == "T", age == "TOTAL", citizen == "AF", geo != "EU28", geo != "TOTAL") %>% 
  select(geo,decision,values) %>%
  arrange(desc(values))

dec_bar <- ggplot(filter(major_geo, decision != "TOTAL")) + geom_col(aes(x=geo, y=values, fill=decision), colour="black") + scale_fill_grey()
dec_bar


muc-fluechtlingsrat/r-eurostat-refugees documentation built on May 23, 2019, 8:20 a.m.