Hausaufgabe 02 - Hallo Open (Government) Data

Das Portal opendata.swiss stellt der Allgemeinheit offene Behördendaten in einem zentralen Katalog zur Verfügung. Es wird betrieben vom Bundesamt für Statisik und ist ein gemeinsames Projekt von Bund, Kantonen, Gemeinden und weiteren Organisationen mit einem staatlichen Auftrag. In dieser Hausaufgabe nutzen wir den Datensatz “Corona Hilfen im Kulturbereich im Kanton Zürich” publiziert am 04. März 2021 von der Fachstelle Open Government Data des Kantons Zürich, und der Fachstele Kultur der Direktion der Justiz und des Innern.

Ziele

Diese Hausaufgabe hat die folgenden Ziele:

Erste Schritte

Öffne deine Email Inbox und suche nach der Email mit dem Link für das GitHub Repo zu dieser Hausaufgabe (ha-02-hallo-ogd). Alternativ kannst du GitHub öffnen und in unserer GitHub Organisation nach dem Repo mit deinem Namen suchen.

Folge den Schritten aus Hausaufgabe 1 oder den Folien der Woche 2 um das GitHub Repo in die Posit Cloud zu clonen.

Packages

In dieser Hausaufgabe lernst du ein zwei R Packages kennen, welche wir in Woche 3 in mehr Detail behandeln werden. Das {readr} und das {dplyr} Package, welche beide zur Sammlung der {tidyverse} Packages gehören.

Data

Wir nutzen den Datensatz mit dem Titel “Corona Hilfen im Kulturbereich im Kanton Zürich” publiziert am 04. März 2021 von der Fachstelle Open Government Data des Kantons Zürich, Fachstele Kultur (Direktion der Justiz und des Innern).

Die Beschreibung der Variablen ist auf der Ressource für den Datensatz zu finden:

Übungen

Übung 1

Erinnerst du dich, dass RStudio in vier Bereiche unterteilt ist? Versuche diese, ohne nachzuschauen, zu benennen.

Aufgaben

  1. Füge deine Antworten zu der R Markdown Datei für die Hausaufgabe hinzu
  2. Stricke das Dokument und verifiziere, dass es keine Fehlermeldung gibt

🧶 ✅ ⬆️ Knit, commit, und pushe deine Änderungen auf GitHub mit der Commit-Nachricht “Füge Antwort für Übung 1 hinzu.” Achte darauf, alle geänderten Dateien zu committen und zu pushen, damit dein Git-Fenster danach aufgeräumt ist.

Übung 2

Verifiziere, dass der Datensatz corona_kultur in deinem Environment (Fenster oben rechts) in RStudio zu finden ist. Wieviele Beobachtungen gibt es in diesem Datensatz?

Aufgaben

  1. Im RStudio Environment, klicke auf den Namen das Datensatzes corona_kultur
  2. Führe den Code View(corona_kultur) in der Console aus.
  3. Nutze die Funktionen glimpse() und str() in einem R Code-chunk um die Daten zu erkunden
  4. Führe das Objekt corona_kultur in der Console aus? Kannst du die Anzahl Reihen und Spalten im Output finden?
  5. Welche zwei weiteren Funktionen kennst du um die Anzahl der Reihen und Spalten eines Datensatzes zu erfahren?
  6. In der Spalte Beschluss taucht immer wieder der Wert ‘NA’ auf. Was bedeutet dies? Generell, und für diesen Datensatz?

🧶 ✅ ⬆️ Knit, commit, und pushe deine Änderungen auf GitHub mit der Commit-Nachricht “Füge Antwort für Übung 2 hinzu.” Achte darauf, alle geänderten Dateien zu committen und zu pushen, damit dein Git-Fenster danach aufgeräumt ist.

Übung 3

Schauen wir uns zuerst die Verteilung der Beträge an, welche nachgefragt wurden. Wir sehen, dass eine grosse Anzahl an kleineren Beträgen (< 100’000 CHF) beantragt wurde, und das einige grosse Beträge (> 2’000’000 CHF) bentragt wurden. Ein Antrag mit über 10 Millionen CHF sticht ganz besonders heraus und führt dazu, dass dieser Plot nicht besonders schön ist.

Code vorlesen: Nutze das Objekt corona_kultur und plotte ein Histogram mit der der Verteilung der nachgefragten Beträge auf der x-Achse. Zähle die Anzahl der Gesuche pro 100’000 CHF auf der y-Achse.

ggplot(data = corona_kultur, aes(x = Nachgefragt)) +
  geom_histogram(binwidth = 100000)

Code vorlesen: Beginne mit dem Objekt corona_kultur und leite es in die Funktion filter(), um nach Beobachtungen zu filtern, bei denen die Variable ‘Nachgefragt’ grösser 2’000’000 ist. Ordne den Datensatz dann in absteigender Reihenfolge nach der Variable ‘Nachgefragt’

corona_kultur %>% 
  filter(Nachgefragt > 2000000) %>% 
  arrange(desc(Nachgefragt)) 
# A tibble: 9 × 8
  Kategorie          Sparte Nachgefragt Beschluss Status Eingangsdatum
  <chr>              <chr>        <dbl>     <dbl> <chr>  <date>       
1 Kulturunternehmen… Kino      10749500   2531400 Ausbe… 2020-11-30   
2 Kulturunternehmen… Musik      3156000         0 Ausbe… 2020-04-29   
3 Kulturunternehmen… Tanz/…     2730800   1517900 Ausbe… 2020-09-20   
4 Kulturunternehmen… Musik      2722200   2091900 Ausbe… 2020-09-20   
5 Kulturunternehmen… Musik      2519000         0 Ausbe… 2020-05-20   
6 Kulturunternehmen… Klubs…     2391000    272200 Ausbe… 2020-07-20   
7 Kulturunternehmen… Tanz/…     2368000   1566400 Ausbe… 2020-04-30   
8 Kulturunternehmen… Klubs…     2159400    578400 Ausbe… 2020-04-13   
9 Kulturunternehmen… Berei…     2049100        NA Ableh… 2020-09-15   
# ℹ 2 more variables: Beschlussdatum <date>, ID <chr>

In den folgenden Aufgaben wollen wir uns nur mit Beobachtungen beschäftigen bei welchen die Variable ‘Beschluss’ kleiner 100’000 CHF ist. Dazu wird der Datensatz gefiltert und als ein neues Objekt in dem RStudio Environment gespeichert. Ich habe den Code für dich vorbereitet.

corona_kultur_beschluss_gering <- corona_kultur %>% 
  filter(Beschluss < 100000) 

Aufgaben

  1. Nutze die Daten im Objekt corona_kultur_beschluss_gering um mit der Funktion ggplot() einen Plot zu erstellen
  2. Nutze die Variable ‘Beschluss’ für die x-Achse
  3. Nutze das Geom für ein Histogram für die Darstellung des Plots (Tipp: geom_histogram)

Führe den Code aus und betrachte den Plot

  1. Ordne die Variable ‘Sparte’ der der visuellen Eigenschaft für Farben zu (Tipp: Schaue in Praktikum 3 oder 4 nach wie du es dort gemacht hast)

Führe den Code aus und betrachte den Plot

  1. Nutze Faceting und lege die Variable ‘Kategorie’ auf die Spalten (Tipp: Schaue in Praktikum 4 nach wie du es dort gemacht hast)

Führe den Code aus und betrachte den Plot

  1. Innerhalb der Klammern der Funktion geom_histogram(), füge das Argument ‘binwidth’ hinzu uns setze den Wert auf 10000 (Tipp: binwidth = 10000). Was bewirkt dieses Argument?

Führe den Code aus und betrachte den Plot

  1. Füge einen Titel, einen Untertitiel und eine Bildunterschrift (caption) hinzu. (Tipp: Schaue in den Folien für Woche 2 nach)

🧶 ✅ ⬆️ Knit, commit, und pushe deine Änderungen auf GitHub mit der Commit-Nachricht “Füge Antwort für Übung 3 hinzu.” Achte darauf, alle geänderten Dateien zu committen und zu pushen, damit dein Git-Fenster danach aufgeräumt ist.

Gratulation! Du hast die Übungen abgeschlossen. Falls du noch Lust und Zeit hast, ist hier noch eine Bonusaufgabe.

Übung 4 (Bonus)

  1. Nutze das Objekt corona_kultur und erstelle eine Säulendiagram (geom_bar)
  2. Ordne die Variable ‘Sparte’ der visuellen Eigenschaft für Farben zu
  3. Ordne der x-Achse eine kategoriale Variable ‘Status’ zu (anstatt einer numerischen Variable ‘Beschluss’)
  4. Nutze Faceting und lege die Variable ‘Kategorie’ auf die Spalten
  5. Füge einen Titel, einen Untertitiel und eine Bildunterschrift (caption) hinzu.
  6. Ändere die Position der Legende auf den unteren Bereich des Plots (Tipp: Schau nach was wir in Übung 2 aus Praktikum 4 gemacht haben und ersetze ‘none’ durch ‘bottom’)

🧶 ✅ ⬆️ Knit, commit, und pushe deine Änderungen auf GitHub mit der Commit-Nachricht “Füge Antwort für Übung 4 hinzu.” Achte darauf, alle geänderten Dateien zu committen und zu pushen, damit dein Git-Fenster danach aufgeräumt ist.

Corrections

If you see mistakes or want to suggest changes, please create an issue on the source repository.

Reuse

Text and figures are licensed under Creative Commons Attribution CC BY-SA 4.0. Source code is available at https://github.com/rstatsZH/website, unless otherwise noted. The figures that have been reused from other sources don't fall under this license and can be recognized by a note in their caption: "Figure from ...".