sample(c("Florens", "Anne", "Markus"))
getwd()
Load data
# Step 1: Load packages
library(data.table)
library(tidyverse)
Warning message in system("timedatectl", intern = TRUE): “running command 'timedatectl' had status 1” ── Attaching packages ─────────────────────────────────────── tidyverse 1.3.1 ── ✔ ggplot2 3.3.5 ✔ purrr 0.3.4 ✔ tibble 3.1.6 ✔ dplyr 1.0.7 ✔ tidyr 1.1.4 ✔ stringr 1.4.0 ✔ readr 2.1.1 ✔ forcats 0.5.1 ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ── ✖ dplyr::between() masks data.table::between() ✖ dplyr::filter() masks stats::filter() ✖ dplyr::first() masks data.table::first() ✖ dplyr::lag() masks stats::lag() ✖ dplyr::last() masks data.table::last() ✖ purrr::transpose() masks data.table::transpose()
# Step 2: Load data
stadt_data <- fread("Open-Data-Bundestagswahl1343_wue_stadt.csv")
votes <- fread("okvote-fields.tsv")
head(stadt_data)
datum | wahl | ags | gebiet-nr | gebiet-name | max-schnellmeldungen | anz-schnellmeldungen | A1 | A2 | A3 | ⋯ | D23 | F23 | D24 | F24 | D25 | F25 | D26 | F26 | D27 | F27 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
<chr> | <chr> | <int> | <lgl> | <chr> | <int> | <int> | <int> | <int> | <int> | ⋯ | <int> | <int> | <int> | <int> | <int> | <int> | <int> | <int> | <int> | <int> |
26.09.2021 | Wahl zum Deutschen Bundestag | 9663000 | NA | ALTSTADT | 32 | 32 | 5959 | 9117 | 0 | ⋯ | 97 | 41 | 0 | 39 | 0 | 7 | 0 | 89 | 105 | 0 |
26.09.2021 | Wahl zum Deutschen Bundestag | 9663000 | NA | ZELLERAU | 12 | 12 | 4313 | 4097 | 0 | ⋯ | 33 | 17 | 0 | 24 | 0 | 15 | 0 | 37 | 66 | 0 |
26.09.2021 | Wahl zum Deutschen Bundestag | 9663000 | NA | DÜRRBACHTAL | 10 | 10 | 1936 | 2517 | 0 | ⋯ | 19 | 6 | 0 | 7 | 0 | 7 | 0 | 10 | 46 | 0 |
26.09.2021 | Wahl zum Deutschen Bundestag | 9663000 | NA | GROMBÜHL | 10 | 10 | 2900 | 3188 | 0 | ⋯ | 29 | 14 | 0 | 12 | 0 | 9 | 0 | 28 | 36 | 0 |
26.09.2021 | Wahl zum Deutschen Bundestag | 9663000 | NA | LINDLEINSMÜHLE | 4 | 4 | 1916 | 1386 | 0 | ⋯ | 5 | 2 | 0 | 10 | 0 | 3 | 0 | 4 | 28 | 0 |
26.09.2021 | Wahl zum Deutschen Bundestag | 9663000 | NA | FRAUENLAND | 26 | 26 | 6084 | 8374 | 0 | ⋯ | 66 | 34 | 0 | 24 | 0 | 12 | 0 | 79 | 102 | 0 |
head(votes)
tail(votes)
column | stimme | partei_beschreibung |
---|---|---|
<chr> | <chr> | <chr> |
datum | Datum des Wahltermins | |
wahl | Name der Wahl | |
ags | AGS der Behörde | |
gebiet-nr | Nummer des Wahlgebiets | |
gebiet-name | Name des Wahlgebiets | |
max-schnellmeldungen | Anzahl an insgesamt erwarteten Schnellmeldungen im Wahlgebiet |
column | stimme | partei_beschreibung |
---|---|---|
<chr> | <chr> | <chr> |
F24 | Zweitstimmen | Team Todenhöfer – Die Gerechtigkeitspartei |
D25 | Erststimmen | UNABHÄNGIGE für bürgernahe Demokratie |
F25 | Zweitstimmen | UNABHÄNGIGE für bürgernahe Demokratie |
D26 | Erststimmen | Volt Deutschland |
F26 | Zweitstimmen | Volt Deutschland |
D27 | Erststimmen | Einzelbewerber Schürer |
select(stadt_data, `gebiet-name`, D1:F27) %>%
gather("Partei_Stimme", "Wert", 2:ncol(.)) %>%
left_join(votes, by = c("Partei_Stimme" = "column"))%>%
filter(!is.na(stimme)) %>%
select(-Partei_Stimme) %>%
spread("stimme", "Wert")
gebiet-name | partei_beschreibung | Erststimmen | Zweitstimmen |
---|---|---|---|
<chr> | <chr> | <int> | <int> |
ALTSTADT | Alternative für Deutschland | 0 | 477 |
ALTSTADT | Basisdemokratische Partei Deutschland | 242 | 123 |
ALTSTADT | Bayernpartei | 0 | 5 |
ALTSTADT | BÜNDNIS 90/DIE GRÜNEN | 4449 | 4267 |
ALTSTADT | Bündnis C - Christen für Deutschland | 0 | 8 |
ALTSTADT | Christlich-Soziale Union in Bayern e.V. | 2814 | 2333 |
ALTSTADT | DER DRITTE WEG | 0 | 2 |
ALTSTADT | Deutsche Kommunistische Partei | 0 | 7 |
ALTSTADT | DIE LINKE | 793 | 835 |
ALTSTADT | Die Urbane. Eine HipHop Partei | 0 | 12 |
ALTSTADT | Einzelbewerber Schürer | 105 | NA |
ALTSTADT | Freie Demokratische Partei | 1530 | 1538 |
ALTSTADT | FREIE WÄHLER | 380 | 233 |
ALTSTADT | Liberal-Konservative Reformer | 0 | 2 |
ALTSTADT | Marxistisch-Leninistische Partei Deutschlands | 0 | 3 |
ALTSTADT | Nationaldemokratische Partei Deutschlands | 0 | 2 |
ALTSTADT | Ökologisch-Demokratische Partei | 167 | 71 |
ALTSTADT | Partei der Humanisten | 97 | 41 |
ALTSTADT | Partei für Arbeit, Rechtsstaat, Tierschutz, Elitenförderung und basisdemokratische Initiative | 0 | 163 |
ALTSTADT | Partei für Gesundheitsforschung | 0 | 12 |
ALTSTADT | PARTEI MENSCH UMWELT TIERSCHUTZ | 0 | 115 |
ALTSTADT | Piratenpartei Deutschland | 0 | 45 |
ALTSTADT | Sozialdemokratische Partei Deutschlands | 1845 | 2030 |
ALTSTADT | Team Todenhöfer – Die Gerechtigkeitspartei | 0 | 39 |
ALTSTADT | UNABHÄNGIGE für bürgernahe Demokratie | 0 | 7 |
ALTSTADT | V-Partei³ - Partei für Veränderung, Vegetarier und Veganer | 0 | 28 |
ALTSTADT | Volt Deutschland | 0 | 89 |
DÜRRBACHTAL | Alternative für Deutschland | 0 | 242 |
DÜRRBACHTAL | Basisdemokratische Partei Deutschland | 84 | 43 |
DÜRRBACHTAL | Bayernpartei | 0 | 6 |
⋮ | ⋮ | ⋮ | ⋮ |
VERSBACH | UNABHÄNGIGE für bürgernahe Demokratie | 0 | 8 |
VERSBACH | V-Partei³ - Partei für Veränderung, Vegetarier und Veganer | 0 | 3 |
VERSBACH | Volt Deutschland | 0 | 8 |
ZELLERAU | Alternative für Deutschland | 0 | 393 |
ZELLERAU | Basisdemokratische Partei Deutschland | 172 | 79 |
ZELLERAU | Bayernpartei | 0 | 9 |
ZELLERAU | BÜNDNIS 90/DIE GRÜNEN | 1844 | 1731 |
ZELLERAU | Bündnis C - Christen für Deutschland | 0 | 2 |
ZELLERAU | Christlich-Soziale Union in Bayern e.V. | 1370 | 1173 |
ZELLERAU | DER DRITTE WEG | 0 | 3 |
ZELLERAU | Deutsche Kommunistische Partei | 0 | 3 |
ZELLERAU | DIE LINKE | 513 | 541 |
ZELLERAU | Die Urbane. Eine HipHop Partei | 0 | 8 |
ZELLERAU | Einzelbewerber Schürer | 66 | NA |
ZELLERAU | Freie Demokratische Partei | 589 | 529 |
ZELLERAU | FREIE WÄHLER | 246 | 159 |
ZELLERAU | Liberal-Konservative Reformer | 0 | 0 |
ZELLERAU | Marxistisch-Leninistische Partei Deutschlands | 0 | 3 |
ZELLERAU | Nationaldemokratische Partei Deutschlands | 0 | 1 |
ZELLERAU | Ökologisch-Demokratische Partei | 95 | 37 |
ZELLERAU | Partei der Humanisten | 33 | 17 |
ZELLERAU | Partei für Arbeit, Rechtsstaat, Tierschutz, Elitenförderung und basisdemokratische Initiative | 0 | 76 |
ZELLERAU | Partei für Gesundheitsforschung | 0 | 7 |
ZELLERAU | PARTEI MENSCH UMWELT TIERSCHUTZ | 0 | 69 |
ZELLERAU | Piratenpartei Deutschland | 0 | 21 |
ZELLERAU | Sozialdemokratische Partei Deutschlands | 1221 | 1240 |
ZELLERAU | Team Todenhöfer – Die Gerechtigkeitspartei | 0 | 24 |
ZELLERAU | UNABHÄNGIGE für bürgernahe Demokratie | 0 | 15 |
ZELLERAU | V-Partei³ - Partei für Veränderung, Vegetarier und Veganer | 0 | 8 |
ZELLERAU | Volt Deutschland | 0 | 37 |
result <- select(stadt_data, `gebiet-name`, D1:F27) %>%
gather("Partei_Stimme", "Wert", 2:ncol(.)) %>%
left_join(votes, by = c("Partei_Stimme" = "column")) %>%
filter(!is.na(stimme)) %>%
select(-Partei_Stimme) %>%
spread("stimme", "Wert") %>%
identity %>%
replace(is.na(.), 0)
result %>% group_by(`gebiet-name`) %>%
mutate(Erststimmen = Erststimmen/sum(Erststimmen), Zweitstimmen = Zweitstimmen/sum(Zweitstimmen))
gebiet-name | partei_beschreibung | Erststimmen | Zweitstimmen |
---|---|---|---|
<chr> | <chr> | <dbl> | <dbl> |
ALTSTADT | Alternative für Deutschland | 0.000000000 | 0.0381997277 |
ALTSTADT | Basisdemokratische Partei Deutschland | 0.019481565 | 0.0098502443 |
ALTSTADT | Bayernpartei | 0.000000000 | 0.0004004164 |
ALTSTADT | BÜNDNIS 90/DIE GRÜNEN | 0.358154886 | 0.3417153840 |
ALTSTADT | Bündnis C - Christen für Deutschland | 0.000000000 | 0.0006406663 |
ALTSTADT | Christlich-Soziale Union in Bayern e.V. | 0.226533569 | 0.1868343077 |
ALTSTADT | DER DRITTE WEG | 0.000000000 | 0.0001601666 |
ALTSTADT | Deutsche Kommunistische Partei | 0.000000000 | 0.0005605830 |
ALTSTADT | DIE LINKE | 0.063838351 | 0.0668695443 |
ALTSTADT | Die Urbane. Eine HipHop Partei | 0.000000000 | 0.0009609994 |
ALTSTADT | Einzelbewerber Schürer | 0.008452745 | 0.0000000000 |
ALTSTADT | Freie Demokratische Partei | 0.123168572 | 0.1231680948 |
ALTSTADT | FREIE WÄHLER | 0.030590887 | 0.0186594058 |
ALTSTADT | Liberal-Konservative Reformer | 0.000000000 | 0.0001601666 |
ALTSTADT | Marxistisch-Leninistische Partei Deutschlands | 0.000000000 | 0.0002402499 |
ALTSTADT | Nationaldemokratische Partei Deutschlands | 0.000000000 | 0.0001601666 |
ALTSTADT | Ökologisch-Demokratische Partei | 0.013443890 | 0.0056859133 |
ALTSTADT | Partei der Humanisten | 0.007808726 | 0.0032834148 |
ALTSTADT | Partei für Arbeit, Rechtsstaat, Tierschutz, Elitenförderung und basisdemokratische Initiative | 0.000000000 | 0.0130535757 |
ALTSTADT | Partei für Gesundheitsforschung | 0.000000000 | 0.0009609994 |
ALTSTADT | PARTEI MENSCH UMWELT TIERSCHUTZ | 0.000000000 | 0.0092095780 |
ALTSTADT | Piratenpartei Deutschland | 0.000000000 | 0.0036037479 |
ALTSTADT | Sozialdemokratische Partei Deutschlands | 0.148526807 | 0.1625690718 |
ALTSTADT | Team Todenhöfer – Die Gerechtigkeitspartei | 0.000000000 | 0.0031232482 |
ALTSTADT | UNABHÄNGIGE für bürgernahe Demokratie | 0.000000000 | 0.0005605830 |
ALTSTADT | V-Partei³ - Partei für Veränderung, Vegetarier und Veganer | 0.000000000 | 0.0022423320 |
ALTSTADT | Volt Deutschland | 0.000000000 | 0.0071274125 |
DÜRRBACHTAL | Alternative für Deutschland | 0.000000000 | 0.0658861966 |
DÜRRBACHTAL | Basisdemokratische Partei Deutschland | 0.023032630 | 0.0117070515 |
DÜRRBACHTAL | Bayernpartei | 0.000000000 | 0.0016335421 |
⋮ | ⋮ | ⋮ | ⋮ |
VERSBACH | UNABHÄNGIGE für bürgernahe Demokratie | 0.000000000 | 0.0018386578 |
VERSBACH | V-Partei³ - Partei für Veränderung, Vegetarier und Veganer | 0.000000000 | 0.0006894967 |
VERSBACH | Volt Deutschland | 0.000000000 | 0.0018386578 |
ZELLERAU | Alternative für Deutschland | 0.000000000 | 0.0635408246 |
ZELLERAU | Basisdemokratische Partei Deutschland | 0.027972028 | 0.0127728375 |
ZELLERAU | Bayernpartei | 0.000000000 | 0.0014551334 |
ZELLERAU | BÜNDNIS 90/DIE GRÜNEN | 0.299886160 | 0.2798706548 |
ZELLERAU | Bündnis C - Christen für Deutschland | 0.000000000 | 0.0003233630 |
ZELLERAU | Christlich-Soziale Union in Bayern e.V. | 0.222800455 | 0.1896523848 |
ZELLERAU | DER DRITTE WEG | 0.000000000 | 0.0004850445 |
ZELLERAU | Deutsche Kommunistische Partei | 0.000000000 | 0.0004850445 |
ZELLERAU | DIE LINKE | 0.083428200 | 0.0874696847 |
ZELLERAU | Die Urbane. Eine HipHop Partei | 0.000000000 | 0.0012934519 |
ZELLERAU | Einzelbewerber Schürer | 0.010733453 | 0.0000000000 |
ZELLERAU | Freie Demokratische Partei | 0.095787933 | 0.0855295069 |
ZELLERAU | FREIE WÄHLER | 0.040006505 | 0.0257073565 |
ZELLERAU | Liberal-Konservative Reformer | 0.000000000 | 0.0000000000 |
ZELLERAU | Marxistisch-Leninistische Partei Deutschlands | 0.000000000 | 0.0004850445 |
ZELLERAU | Nationaldemokratische Partei Deutschlands | 0.000000000 | 0.0001616815 |
ZELLERAU | Ökologisch-Demokratische Partei | 0.015449667 | 0.0059822150 |
ZELLERAU | Partei der Humanisten | 0.005366726 | 0.0027485853 |
ZELLERAU | Partei für Arbeit, Rechtsstaat, Tierschutz, Elitenförderung und basisdemokratische Initiative | 0.000000000 | 0.0122877930 |
ZELLERAU | Partei für Gesundheitsforschung | 0.000000000 | 0.0011317704 |
ZELLERAU | PARTEI MENSCH UMWELT TIERSCHUTZ | 0.000000000 | 0.0111560226 |
ZELLERAU | Piratenpartei Deutschland | 0.000000000 | 0.0033953112 |
ZELLERAU | Sozialdemokratische Partei Deutschlands | 0.198568873 | 0.2004850445 |
ZELLERAU | Team Todenhöfer – Die Gerechtigkeitspartei | 0.000000000 | 0.0038803557 |
ZELLERAU | UNABHÄNGIGE für bürgernahe Demokratie | 0.000000000 | 0.0024252223 |
ZELLERAU | V-Partei³ - Partei für Veränderung, Vegetarier und Veganer | 0.000000000 | 0.0012934519 |
ZELLERAU | Volt Deutschland | 0.000000000 | 0.0059822150 |
# Stimmen je Parteil [%] unabhängig von Stadtteil
result %>%
ungroup() %>%
select(-`gebiet-name`) %>%
group_by(partei_beschreibung) %>%
summarize(Erststimmen = sum(Erststimmen)/sum(result$Erststimmen), Zweitstimmen = sum(Zweitstimmen)/sum(result$Zweitstimmen))
partei_beschreibung | Erststimmen | Zweitstimmen |
---|---|---|
<chr> | <dbl> | <dbl> |
Alternative für Deutschland | 0.000000000 | 0.0594380122 |
Basisdemokratische Partei Deutschland | 0.024682956 | 0.0120983479 |
Bayernpartei | 0.000000000 | 0.0008195655 |
BÜNDNIS 90/DIE GRÜNEN | 0.268319177 | 0.2558085079 |
Bündnis C - Christen für Deutschland | 0.000000000 | 0.0006894757 |
Christlich-Soziale Union in Bayern e.V. | 0.291614862 | 0.2451541564 |
DER DRITTE WEG | 0.000000000 | 0.0002601795 |
Deutsche Kommunistische Partei | 0.000000000 | 0.0002861975 |
DIE LINKE | 0.054731772 | 0.0541953948 |
Die Urbane. Eine HipHop Partei | 0.000000000 | 0.0007415116 |
Einzelbewerber Schürer | 0.009723985 | 0.0000000000 |
Freie Demokratische Partei | 0.117433810 | 0.1106933784 |
FREIE WÄHLER | 0.039013729 | 0.0248211266 |
Liberal-Konservative Reformer | 0.000000000 | 0.0002211526 |
Marxistisch-Leninistische Partei Deutschlands | 0.000000000 | 0.0001951346 |
Nationaldemokratische Partei Deutschlands | 0.000000000 | 0.0002992065 |
Ökologisch-Demokratische Partei | 0.013754924 | 0.0062443086 |
Partei der Humanisten | 0.005614522 | 0.0024066606 |
Partei für Arbeit, Rechtsstaat, Tierschutz, Elitenförderung und basisdemokratische Initiative | 0.000000000 | 0.0092363731 |
Partei für Gesundheitsforschung | 0.000000000 | 0.0011838168 |
PARTEI MENSCH UMWELT TIERSCHUTZ | 0.000000000 | 0.0105242617 |
Piratenpartei Deutschland | 0.000000000 | 0.0038766749 |
Sozialdemokratische Partei Deutschlands | 0.175110262 | 0.1897098998 |
Team Todenhöfer – Die Gerechtigkeitspartei | 0.000000000 | 0.0027058670 |
UNABHÄNGIGE für bürgernahe Demokratie | 0.000000000 | 0.0016131130 |
V-Partei³ - Partei für Veränderung, Vegetarier und Veganer | 0.000000000 | 0.0012878886 |
Volt Deutschland | 0.000000000 | 0.0054897880 |