{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# GESIS-Daten herunterladen, bearbeiten und explorieren mit R " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Setup" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Zunächst müssen die benötigten R-Pakete geladen werden." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "ename": "ERROR", "evalue": "Error in library(gesis): there is no package called 'gesis'\n", "output_type": "error", "traceback": [ "Error in library(gesis): there is no package called 'gesis'\nTraceback:\n", "1. library(gesis)", "2. stop(txt, domain = NA)" ] } ], "source": [ "library(tidyverse)\n", "library(haven)\n", "library(gesis)\n", "library(ggthemes)\n", "library(ggmap)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Um in R Daten aus dem [Datenbestandskatalog (DBK) von GESIS](https://dbk.gesis.org/dbksearch/?db=d) herunterladen zu können, muss ein Objekt mit Ihren Zugangsdaten für den DBK erzeugt werden. Hierzu müssen Sie in der nachfolgenden Code-Zelle die E-Mail-Adresse, die Sie für die Registrierung beim GESIS-DBK verwendet haben, sowie Ihr Passwort für den DBK-Account an den entsprechenden Stellen einfügen." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "s <- login(username = \"\", password = \"\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Mit dem nachfolgenden Befehl können Sie die im GESIS-DBK verfügbaren Studiengruppen explorieren." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "get_study_groups()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In diesem Notebook arbeiten wir mit Daten aus der [Allgemeinen Bevölkerungsumfrage der Sozialwissenschaften (ALLBUS)](https://www.gesis.org/allbus/allbus/) sowie der [European Values Study (EVS)](https://europeanvaluesstudy.eu/). Mit den folgenden Befehlen können Sie schauen, welche Datensätze es für diese Umfrageprogramme im GESIS-DBK gibt." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "scrolled": true }, "outputs": [], "source": [ "# ALLBUS\n", "get_datasets(\"0007\") %>%\n", " print(n = 100)\n", "# EVS\n", "get_datasets(\"0009\") %>% \n", " print(n = 100)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Der Ordnung halber legen wir nun noch einen eigenen (Unter-)Ordner für die Datensätze an." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "dir.create(file.path(\".\", \"data\"))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## ALLBUS 1980-2016" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Im ersten Schritt müssen wir den Datensatz aus dem DBK herunterladen und in R einlesen. Im missverständlich benannten Argument doi der Funktion download_dataset muss die ZA-Studiennummer angegeben werden. Als Format wählen wir den SPSS-Datensatz aus (filetype = \".sav\") und geben als Zweck (für diesen Workshop) Weiterbildung und Qualifikation an (purpose = 6). Generell muss die [Benutzungsordnung](https://www.gesis.org/fileadmin/upload/dienstleistung/daten/umfragedaten/_bgordnung_bestellen/2018-05-25_Benutzungsordnung_GESIS_DAS.pdf) beachtet werden. Daten der Kategorien A, B und C sind ausschließlich für die akademische Forschung und Lehre freigegeben. Hinweis aus der Benutzungsordnung (Version vom 25.05.2018): \"Institute oder Personen außerhalb der akademischen Forschung und Lehre können eine Bereitstellung schriftlich beantragen.\" Dies geht am einfachsten per E-Mail an ." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "download_dataset(s, doi = \"4587\", path = \"./data\", filetype = \".sav\", purpose = 6)\n", "allbus_kum <- read_sav(\"data/ZA4587_v1-0-0.sav\")\n", "dim(allbus_kum)\n", "names(allbus_kum)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Der Datensatz entält 64684 Fälle (Befragte) und 1020 Variablen. Wenn man sich die Namen der Variablen anschaut, wird klar, dass das [Codebuch](https://dbk.gesis.org/dbksearch/download.asp?db=D&id=64444) benötigt wird, um diese zu verstehen (dieses kann man auch mit dem gesis-Paket für R über den Befehl download_codebook(doi = \"4587\") herunterladen)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Im nächsten Schritt wählen wir die Variablen aus, die uns für die nachfolgenden Analysen interessieren und bearbeiten diese so, dass wir sie später im gewünschten Format plotten können. Die ausgewählten Items konnten in der Befragung mit \"Ja\" oder \"Nein\" beantwortet werden. Um die Interpretierbarkeit sowie die Berechnung von prozentualen Anteilen zu erleichtern, codieren wir den ursprünglichen für die Antwort \"Nein\" genutzten Wert 2 in 0 um. Aufgrund der Umstellung der Stichprobenziehung müssen die Daten für die Zeitreihen gewichtet werden (siehe [Codebuch zur Studie](https://dbk.gesis.org/dbksearch/download.asp?db=D&id=64444), S. xxi - xxxvi). Da es in dieser exemplarischen Visualisierung um Aussagen über Personen im Ost-West-Vergleich geht, ist (nur) das Personengewicht nötig. Zur Gewichtung wird einfach der Variablenvektor mit dem entsprechenden Gewichtungsvektor multipliziert (wichtiger Hinweis: laut Codebuch, S. 1680 bedeutet der Wert 0 in der Gewichtungsvariable, dass diese nicht berechnet werden konnte). " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "contact <- allbus_kum %>% \n", " select(year, eastwest, starts_with(\"mc\"), wghtpt) %>% \n", " mutate(eastwest = as_factor(eastwest),\n", " eastwest = recode(eastwest,\n", " \"ALTE BUNDESLAENDER\" = \"Westdeutschland\",\n", " \"NEUE BUNDESLAENDER\" = \"Ostdeutschland\"),\n", " wghtpt = na_if(wghtpt, 0),\n", " mc01 = recode(as.numeric(mc01), \"2\"= 0),\n", " mc02 = recode(as.numeric(mc02), \"2\"= 0),\n", " mc03 = recode(as.numeric(mc03), \"2\"= 0),\n", " mc04 = recode(as.numeric(mc04), \"2\"= 0),\n", " mc01_w = mc01 * wghtpt,\n", " mc02_w = mc02 * wghtpt,\n", " mc03_w = mc03 * wghtpt,\n", " mc04_w = mc04 * wghtpt)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Bevor wir die Zeitreihen plotten können, müssen die Daten noch vom Wide- ins Long-Format überführt werden. Hinweis: Da es in einigen Jahren Fälle gibt, für die kein Gewicht berechnet werden konnte, ändert sich für diese Jahre entsprechend die jeweilige Fallzahl, die für die Berechnung der prozentualen Anteile benötigt wird." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "contact_long <- contact %>%\n", " filter(!is.na(wghtpt)) %>% \n", " select(year, eastwest, mc01_w:mc04_w, wghtpt) %>% \n", " gather(key = type_of_contact, value = yes_no, -year, -eastwest, -wghtpt) %>%\n", " mutate(type_of_contact = recode(type_of_contact,\n", " \"mc01_w\" = \"In der Familie\",\n", " \"mc02_w\" = \"Am Arbeitsplatz\",\n", " \"mc03_w\" = \"In der Nachbarschaft\",\n", " \"mc04_w\" = \"Im Freundeskreis\")) %>%\n", " filter(!is.na(yes_no)) %>% \n", " group_by(year, eastwest, type_of_contact) %>% \n", " summarise(sum = sum(yes_no), n = sum(wghtpt)) %>% \n", " mutate (Anteil = (sum/n)*100)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Um die X-Achse des Zeitreihenplots korrekt mit Labels versehen zu können, schauen wir, in welchen Jahren die Fragen, die uns hier interessieren, gestellt wurden." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "unique(contact_long$year)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Nun können wir die Zeitreihen zu den vier Fragen im Ost-West-Vergleich plotten." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "contact_long %>% \n", " ggplot(aes(x = year, y = Anteil, color = eastwest, shape = eastwest)) +\n", " geom_point(size = 2) +\n", " geom_line() +\n", " scale_y_continuous(expand = c(0,0),\n", " breaks = seq(0, 100, 10),\n", " limits = c(0,100),\n", " labels = c(\"0%\", \"10%\", \"20%\", \"30%\", \"40%\" , \"50%\", \"60%\", \"70%\", \"80%\", \"90%\", \"100%\")) +\n", " scale_x_continuous(breaks = c(1980, 1984, 1988, 1990, 1994, 1996, 2000, 2002, 2006, 2010, 2012, 2016)) +\n", " facet_wrap(~type_of_contact, scales = \"free\") +\n", " labs(x = \"\",\n", " y = \"Anteil der Befragten mit Kontakten\",\n", " title = \"Kontakte zwischen Deutschen und Ausländern 1980-2016\\n\",\n", " caption = \"Quelle: ALLBUScompact - Kumulation 1980-2016.GESIS Datenarchiv, Köln.\\nZA4587 Datenfile Version 1.0.0, doi:10.4232/1.13048\") +\n", " theme(axis.text.x = element_text (angle = 90, vjust = 0.5),\n", " panel.grid.major.x = element_blank(),\n", " panel.grid.minor.x = element_blank(),\n", " legend.title = element_blank(),\n", " plot.title = element_text(face=\"bold\", size = 12))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## ALLBUS 2016" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Die folgenden Beispiele sollen illustrieren, warum Vergleiche zwischen Bundesländern mit den ALLBUS-Daten problematisch sind. Hierzu verwenden wir Daten aus dem ALLBUS 2016. Auch diese müssen zunächst heruntergeladen (in diesem Fall auch noch entpackt), eingelesen und entsprechend aufbereitet werden." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "download_dataset(s, doi = \"5250\", path = \"./data\", filetype = \".sav\", purpose = 6)\n", "unzip(\"./data/ZA5250_v2-1-0.sav.zip\", exdir = \"./data\")\n", "allbus_2016 <- read_sav(\"data/ZA5250_v2-1-0.sav\")\n", "dim(allbus_2016)\n", "migration_att <- allbus_2016 %>% \n", " select(eastwest, land, ma09, mp03) %>%\n", " mutate(eastwest = as_factor(eastwest), \n", " land = as_factor(land),\n", " land = fct_recode(land, \"ST\" = \"SACHSEN-ANHALT\",\n", " \"SN\" = \"SACHSEN\",\n", " \"NI\" = \"NIEDERSACHSEN\",\n", " \"BW\" = \"BADEN-WUERTTEMBERG\",\n", " \"HE\" = \"HESSEN\",\n", " \"MV\" = \"MECKLENB.-VORPOMMERN\",\n", " \"BE\" = \"EHEM. BERLIN-OST\",\n", " \"BE\" = \"EHEM. BERLIN-WEST\",\n", " \"BB\" = \"BRANDENBURG\",\n", " \"RP\" = \"RHEINLAND-PFALZ\",\n", " \"SL\" = \"SAARLAND\",\n", " \"TH\" = \"THUERINGEN\",\n", " \"BY\" = \"BAYERN\",\n", " \"NW\" = \"NORDRHEIN-WESTFALEN\",\n", " \"SH\" = \"SCHLESWIG-HOLSTEIN\",\n", " \"HB\" = \"BREMEN\",\n", " \"HH\" = \"HAMBURG\"))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Da in diesen Beispielen Mittelwerte und Konfidenzintervalle visualisiert werden sollen, erstellen wir zu diesem Zweck eigene Dataframes mit den entsprechenden Summary Statistics für die beiden Beispielvariablen." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "fremd_land <- migration_att %>%\n", " group_by(land) %>%\n", " summarise(n=n(),\n", " mean=mean(ma09, na.rm = T),\n", " sd=sd(ma09, na.rm = T)) %>%\n", " mutate(se=sd/sqrt(n)) %>%\n", " mutate(ic=se * qt((1-0.05)/2 + .5, n-1))\n", "\n", "fremd_land\n", "\n", "bereicher_land <- migration_att %>%\n", " group_by(land) %>%\n", " summarise(n=n(),\n", " mean=mean(mp03, na.rm = T),\n", " sd=sd(mp03, na.rm = T)) %>%\n", " mutate(se=sd/sqrt(n)) %>%\n", " mutate(ic=se * qt((1-0.05)/2 + .5, n-1))\n", "\n", "bereicher_land" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Nun können wir die Mittelwerte + Konfidenzintervalle pro Bundesland für die beiden exemplarisch ausgewählten Variablen plotten." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "ggplot(fremd_land, aes(x = land, y = mean)) + \n", " geom_point(aes(size = n)) +\n", " geom_errorbar(aes(ymin = mean-ic, ymax = mean+ic), width = .1) + \n", " scale_y_continuous(expand = c(0,0),\n", " limits = c(1,7)) +\n", " labs(x = \"\",\n", " y = \"\",\n", " title = \"Durch die vielen Ausländer in Deutschland fühlt man sich zunehmend \\nals Fremder im eigenen Land.\",\n", " subtitle = \"1 = Stimme überhaupt nicht zu, 7 = Stimme voll und ganz zu\",\n", " caption = \"Quelle: ALLBUS 2016. GESIS Datenarchiv, Köln. ZA5250 Datenfile Version 2.1.0, doi:10.4232/1.12796\") +\n", " theme_calc()\n", "\n", "ggplot(bereicher_land, aes(x = land, y = mean)) + \n", " geom_point(aes(size = n)) +\n", " geom_errorbar(aes(ymin = mean-ic, ymax = mean+ic), width = .1) +\n", " scale_y_continuous(expand = c(0,0),\n", " limits = c(1,7)) +\n", " labs(x = \"\",\n", " y = \"\",\n", " title = \"Die in Deutschland lebenden Ausländer \\nsind eine Bereicherung für die Kultur in Deutschland.\",\n", " subtitle = \"1 = Stimme überhaupt nicht zu, 7 = Stimme voll und ganz zu\",\n", " caption = \"Quelle: ALLBUS 2016. GESIS Datenarchiv, Köln. ZA5250 Datenfile Version 2.1.0, doi:10.4232/1.12796\") + \n", "theme_calc()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Die beiden Plots zeigen, dass die Konfidenzintervalle für manche Bundesländer durch die geringe Stichprobengröße sehr groß sind (v.a. Bremen und Saarland), wodurch Vergleiche zwischen/mit diesen wenig aussagekräftig werden." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## EVS 2017" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Die Daten aus der EVS 2017 sind derzeit (Stand 14.01.2019) nur als Pre-Release mit Daten aus 16 Ländern verfügbar. Auch diese müssen wir wieder herunterladen, entpacken, einlesen und aufbereiten (Variablen rekodieren, damit höhere Werte größere Zustimmung bedeuten)." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "download_dataset(s, doi = \"7500\", path = \"./data\", filetype = \".sav\", purpose = 6)\n", "unzip(\"./data/ZA7500_v1-0-0.sav.zip\", exdir = \"./data\")\n", "evs_2017 <- read_sav(\"data/ZA7500_v1-0-0.sav\")\n", "dim(evs_2017)\n", "pol_evs_2017 <- evs_2017 %>% \n", " select(country, v124, v131, v142, v144) %>% \n", " mutate(country = as_factor(country),\n", " v124 = recode(as.numeric(v124), \"1\" = 4,\n", " \"2\" = 3,\n", " \"3\" = 2,\n", " \"4\" = 1),\n", " v131 = recode(as.numeric(v131), \"1\" = 4,\n", " \"2\" = 3,\n", " \"3\" = 2,\n", " \"4\" = 1))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Da wir die Daten auf einer Karte darstellen wollen, müssen wir nun auch Weltkartendaten aus dem Package ggmap laden." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "world <- map_data(\"world\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Nun aggregieren wir die EVS-Daten auf Länderebene." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "pol_country_evs_2017 <- pol_evs_2017 %>% \n", " group_by(country) %>% \n", " summarize_all(mean, na.rm = T)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Bevor wir die Karten- mit den EVS-Daten verknüpfen können, müssen wir schauen, ob sich die Namen der Länder in den beiden Datensätzen unterscheiden, und die Länder dann entsprechend umbenennen." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "pol_country_evs_2017 %>% \n", " anti_join(world, by = c(\"country\" = \"region\"))\n", "world %>% \n", " select(region) %>% \n", " unique()\n", "pol_country_evs_2017 <- pol_country_evs_2017 %>% \n", " mutate(country = recode(country, `Slovak Republic` = 'Slovakia'))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Nun können wir die Karten- und EVS-Daten miteinander verbinden." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "evs_map_2017 <- world %>% \n", " left_join(pol_country_evs_2017, by = c(\"region\" = \"country\"))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Um die Skalen für die Karten sinnvoll anpassen zu können, sollten wir uns die Deskriptivstatistiken für die Variablen anschauen.\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "pol_country_evs_2017 %>% \n", " select(-country) %>% \n", " summary()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Hinweis: Zur Gewährleistung der Vergleichbarkeit mit den Plots für die EVS-Daten aus dem Jahr 2008 wurden auch deren Summary Statistics (siehe unten) bei der Auswahl der Skalen für die Plots berücksichtigt." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Im ersten Plot geht es ums Vertrauen in die EU im Ländervergleich." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "ggplot(data = evs_map_2017, aes(x = long, y = lat, group = group, fill = v124)) + \n", " geom_polygon(color = \"white\") + \n", " xlim(-25, 47.0) + ylim(35, 70) +\n", " theme_map() +\n", " theme(plot.title = element_text(face=\"bold\", size = 16)) +\n", " labs(title = \"Vertrauen in die EU 2017\",\n", " subtitle = \"1 = Überhaupt kein Vertrauen, 4 = Sehr viel Vertrauen\",\n", " fill = \"\",\n", " caption = \"Quelle: European Values Study 2017: Integrated Dataset (EVS 2017). \\nGESIS Datenarchiv, Köln. ZA7500 Datenfile Version 1.0.0, doi:10.4232/1.13090\") +\n", " scale_fill_distiller(breaks = c(1, 1.5, 2, 2.5, 3, 3.5, 4), palette = \"RdYlGn\", direction = 1, limits = c(1.5,3.5))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Nun vergleichen wir das Vertrauen in die Regierung." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "ggplot(data = evs_map_2017, aes(x = long, y = lat, group = group, fill = v131)) + \n", " geom_polygon(color = \"white\") + \n", " xlim(-25, 47.0) + ylim(35, 70) +\n", " theme_map() +\n", " theme(plot.title = element_text(face=\"bold\", size = 16)) +\n", " labs(title = \"Vertrauen in die Regierung 2017\",\n", " subtitle = \"1 = Überhaupt kein Vertrauen, 4 = Sehr viel Vertrauen\",\n", " fill = \"\",\n", " caption = \"Quelle: European Values Study 2017: Integrated Dataset (EVS 2017). \\nGESIS Datenarchiv, Köln. ZA7500 Datenfile Version 1.0.0, doi:10.4232/1.13090\") +\n", " scale_fill_distiller(breaks = c(1, 1.5, 2, 2.5, 3, 3.5, 4), palette = \"RdYlGn\", direction = 1, limits = c(1.5,3.5))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Im nächsten Plot werden die Antworten auf die Frage visualisiert, wie wichtig ist es für die Befragten ist, in einem Land zu leben, das demokratisch regiert wird." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "ggplot(data = evs_map_2017, aes(x = long, y = lat, group = group, fill = v142)) + \n", " geom_polygon(color = \"white\") + \n", " xlim(-25, 47.0) + ylim(35, 70) +\n", " theme_map() +\n", " theme(plot.title = element_text(face=\"bold\", size = 14)) +\n", " labs(title = \"Wie wichtig ist es für Sie, in einem Land zu leben, \\ndas demokratisch regiert wird?\",\n", " subtitle = \"1 = Überhaupt nicht wichtig, 10 = Absolut wichtig\",\n", " fill = \"\",\n", " caption = \"Quelle: European Values Study 2017: Integrated Dataset (EVS 2017). \\nGESIS Datenarchiv, Köln. ZA7500 Datenfile Version 1.0.0, doi:10.4232/1.13090\") +\n", " scale_fill_distiller(breaks = c(7, 7.5, 8, 8.5, 9, 9.5, 10), palette = \"RdYlGn\", direction = 1, limits = c(7, 10))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Die vierte Beispielgrafik zeigt die Zufriedenheit mit dem politischen System im eigenen Land." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "ggplot(data = evs_map_2017, aes(x = long, y = lat, group = group, fill = v144)) + \n", " geom_polygon(color = \"white\") + \n", " xlim(-25, 47.0) + ylim(35, 70) +\n", " theme_map() +\n", " theme(plot.title = element_text(face=\"bold\", size = 13)) +\n", " labs(title = \"Wie zufrieden sind Sie damit, wie das politische System \\nin Ihrem Land heutzutage funktioniert?\",\n", " subtitle = \"1 = Überhaupt nicht zufrieden, 10 = Voll und ganz zufrieden\",\n", " fill = \"\",\n", " caption = \"Quelle: European Values Study 2017: Integrated Dataset (EVS 2017). \\nGESIS Datenarchiv, Köln. ZA7500 Datenfile Version 1.0.0, doi:10.4232/1.13090\") +\n", " scale_fill_distiller(breaks = c(3, 4, 5, 6, 7, 8), palette = \"RdYlGn\", direction = 1, limits = c(2.5, 8))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## EVS 2008" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Für einen Vergleich von mehr Ländern sowie Einblicke in die Entwicklung der Meinungen über die Zeit verwenden wir Daten aus dem vollständigen 2008er EVS-Datensatz. Die Schritte zur Vorbereitung der Visualisierung sind die gleichen wie für die EVS-Daten aus dem Jahr 2017. Wichtig zu beachten ist hierbei, dass sich die Variablennamen zwischen 2008 und 2017 unterscheiden. Zudem wurden die Wichtigkeit von Demokratie sowie die Zufriedenheit mit dem politischen System in der EVS 2008 nicht abgefragt." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "download_dataset(s, doi = \"4800\", path = \"./data\", filetype = \".sav\", purpose = 6)\n", "unzip(\"./data/ZA4800_v4-0-0.sav.zip\", exdir = \"./data\")\n", "evs_2008 <- read_sav(\"data/ZA4800_v4-0-0.sav\")\n", "dim(evs_2008)\n", "pol_evs_2008 <- evs_2008 %>% \n", " select(country, v214, v222) %>% \n", " mutate(country = as_factor(country),\n", " v214 = recode(as.numeric(v214), \"1\" = 4,\n", " \"2\" = 3,\n", " \"3\" = 2,\n", " \"4\" = 1),\n", " v222 = recode(as.numeric(v222), \"1\" = 4,\n", " \"2\" = 3,\n", " \"3\" = 2,\n", " \"4\" = 1))\n", "pol_country_evs_2008 <- pol_evs_2008 %>% \n", " group_by(country) %>% \n", " summarize_all(mean, na.rm = T)\n", "pol_country_evs_2008 %>% anti_join(world, by = c(\"country\" = \"region\"))\n", "world %>% \n", " select(region) %>% \n", " unique()\n", "pol_country_evs_2008 <- pol_country_evs_2008 %>% \n", " mutate(country = recode(country, `Bosnia Herzegovina` = 'Bosnia and Herzegovina',\n", " `Slovak Republic` = 'Slovakia',\n", " `Russian Federation` = 'Russia',\n", " `Great Britain` = 'UK'))\n", "world <- world %>%\n", " mutate(region = ifelse(region == \"UK\" & subregion == \"Northern Ireland\", \"Northern Ireland\",\n", " ifelse(region == \"Cyprus\" & !is.na(subregion), \"Northern Cyprus\", region)))\n", "evs_map_2008 <- world %>% \n", " left_join(pol_country_evs_2008, by = c(\"region\" = \"country\"))\n", "pol_country_evs_2008 %>% \n", " select(-country) %>% \n", " summary()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Plot zum Vertrauen in die EU 2008." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "ggplot(data = evs_map_2008, aes(x = long, y = lat, group = group, fill = v214)) + \n", " geom_polygon(color = \"white\") + \n", " xlim(-25, 47.0) + ylim(35, 70) +\n", " theme_map() +\n", " theme(plot.title = element_text(face=\"bold\", size = 16)) +\n", " labs(title = \"Vertrauen in die EU 2008\",\n", " subtitle = \"1 = Überhaupt kein Vertrauen, 4 = Sehr viel Vertrauen\",\n", " fill = \"\",\n", " caption = \"Quelle: European Values Study 2008: Integrated Dataset (EVS 2008). \\nGESIS Datenarchiv, Köln. ZA4800 Datenfile Version 4.0.0, doi:10.4232/1.12458\") +\n", " scale_fill_distiller(breaks = c(1, 1.5, 2, 2.5, 3, 3.5, 4), palette = \"RdYlGn\", direction = 1, limits = c(1.5,3.5))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Plot zum Vertrauen in die eigene Regierung 2008." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "ggplot(data = evs_map_2008, aes(x = long, y = lat, group = group, fill = v222)) + \n", " geom_polygon(color = \"white\") + \n", " xlim(-25, 47.0) + ylim(35, 70) +\n", " theme_map() +\n", " theme(plot.title = element_text(face=\"bold\", size = 16)) +\n", " labs(title = \"Vertrauen in die Regierung 2008\",\n", " subtitle = \"1 = Überhaupt kein Vertrauen, 4 = Sehr viel Vertrauen\",\n", " fill = \"\",\n", " caption = \"Quelle:European Values Study 2008: Integrated Dataset (EVS 2008). \\nGESIS Datenarchiv, Köln. ZA4800 Datenfile Version 4.0.0, doi:10.4232/1.12458\") +\n", " scale_fill_distiller(breaks = c(1, 1.5, 2, 2.5, 3, 3.5, 4), palette = \"RdYlGn\", direction = 1, limits = c(1.5,3.5))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Wenn Sie mit der Arbeit mit/an diesem Notebook komplett durch sind bzw. diese beenden wollen, wählen Sie bitte im Reiter \"File\" den Punkt \"Close and Halt\" und klicken dann in der Übersicht mit den Dateien oben rechts den Button \"Quit\"." ] } ], "metadata": { "kernelspec": { "display_name": "R", "language": "R", "name": "ir" }, "language_info": { "codemirror_mode": "r", "file_extension": ".r", "mimetype": "text/x-r-source", "name": "R", "pygments_lexer": "r", "version": "3.4.3" } }, "nbformat": 4, "nbformat_minor": 2 }