02 // Daten sichten

Trockenübungen

  1. Beschreiben Sie, was Merkmalsträger, Merkmale, Merkmalsausprägungen und Werte sind.
  2. Was ist CSV?
  3. Was unterscheidet JSON von CSV?
  4. Lösen Sie die binäre Schreibweise 00010111 in ihre Dezimalschreibweise auf.
  5. Was sind ASCII, ISO-8859 und UTF-8?
  6. Beschreiben Sie die Bestandteile eines Box- / Whisker-Plots.

Praxisübungen

Laden Sie den (künstlich erzeugten) Datensatz erstwaehlende.csv auf Ihren Computer herunter. Sie können dazu den hier angegebenen Link nutzen und anschließend die Datei einfach speichern (Rechtsklick > Speichern unter …) oder die Datei bei GitHub manuell auswählen und anschließend als Raw öffnen (und wieder speichern). Bei der Datei handelt es sich um eine einfache Textdatei, die Sie auch mit jedem Texteditor öffnen können (z.B. TextEdit unter MAC, Notepad oder Notepad++ unter Windows). Sie erhalten Einblick in die Datei, die – wie der Name schon sagt – mit Kommata getrennte Werte je Zeile enthält.

Speichern Sie die Datei auf Ihrem Computer.

Im nächsten Schritt sollen die Daten in eine passendere Software eingelesen werden. Dafür können Sie ein Tabellenkalkulationsprogramm nutzen (z.B. Calc, Excel, Sheets). Noch besser (für die weiteren Übungen) wäre aber eine für die CCS übliche Programmiersprache, also Python oder R. Für beide erhalten Sie hier ein wenig Starthilfe.

Python oder R müssen installiert werden. Entscheiden Sie sich für eines davon. Sie finden die Installationsdateien für Python hier und für R hier.

Im Anschluss installieren Sie außerdem eine sogenannte Entwicklungsumgebung, die Ihnen die (hier sehr einfach gehaltene) Programmierung erleichtert. Für Python empfehle ich Ihnen PyCharm, für R das RStudio. In beiden Fällen gibt es komplett kostenfreie und ausreichende Versionen, die “Community”, “Free” oder “Open Source” heißen.

Die Anweisungen sind hier etwas bewusst vage gehalten. Denn für den weiteren Verlauf der Übungen ist es unabdingbar, dass Sie konkrete Anwendungsschritte für die beiden Programmiersprachen selbst recherchieren lernen. Weitere Tipps und Anleitungen zur Installation sowie zu den ersten Schritten in Python und R erhalten Sie beispielsweise hier, hier, hier, hier oder hier.

Nach der Installation müssen Sie für die Praxisübungen zunächst eine Bibliothek (Python-Sprech) bzw. ein Paket (R-Sprech) installieren. Die hier vorgestellte und genutzte Bibliothek in Python heißt pandas, das entsprechende Paket in R nennt sich tidyverse. In Python installieren Sie von der Kommandozeile Ihres Computers (bzw. innerhalb von PyCharm über das Terminal) aus (mithilfe des folgenden Kommandos: pip install pandas), in R direkt in R bzw. RStudio (install.packages('tidyverse')).

Sind die Programmiersprache, die Entwicklungsumgebung und die Bibliothek bzw. das Paket installiert, kann der folgende Code ausgeführt werden. Legen Sie dazu ein neues Skript an und kopieren Sie sich einfach den Code. Achten Sie aber darauf, dass der .csv-Datensatz und Ihr Skript im selben Verzeichnis liegen und auch von dort ausgeführt werden.

# Python
import pandas as pd
erstwaehlende = pd.read_csv('erstwaehlende.csv')
erstwaehlende
# R
library(tidyverse)
erstwaehlende <- read_csv('erstwaehlende.csv')
erstwaehlende

Wenn Sie keine Fehlermeldung erhalten, sondern stattdessen eine angedeutete Tabelle (in Python: dataframe; in R: tibble) sehen, sind Sie startklar.

Datentypen und Messniveaus

Der Datensatz enthält (fiktive) Befragungsdaten von Erstwählenden (Merkmalsträger) in fünf Merkmalen:

Beschreiben Sie möglichst detailliert die Datentypen und Messniveaus der einzelnen Merkmale.

Anzahl Merkmalsträger

Zunächst gilt es, die Anzahl vorliegender Fälle zweifelsfrei zu identifizieren. Bereits dafür gibt es zahlreiche Herangehensweisen. Je zwei werden hier vorgestellt. Wie viele Erstwählende haben an der Befragung teilgenommen?

# Python
erstwaehlende.count()
len(erstwaehlende)
# R
erstwaehlende %>%
  count()
nrow(erstwaehlende)

Merkmalsausprägungen und fehlende Werte

Um festzustellen, wie die genauen Merkmalsausprägungen im Datensatz vorliegen und um etwaige fehlende Werte zu identifizieren, ist es sinnvoll, zunächst alle Merkmale einzeln auszuzählen. Tun Sie das und beschreiben Sie Ihre Befunde. Ein Startbeispiel ist gegeben:

# Python
erstwaehlende.groupby(['geschlecht']).size()
# R
erstwaehlende %>%
  count(geschlecht)

Lage- und Streumaße

Beschreiben Sie das Altersmerkmal näher und geben Sie Median, Mittelwert und Modus sowie Standardabweichung an. Für Python suchen Sie für eine konkrete Umsetzung bestenfalls nach pandas describe numeric data, für R installieren Sie das Paket tidycomm und suchen online nach tidycomm describe numeric variable.

Histogramme

Mit Grafiken beschäftigen wir uns später. Aber wir interessieren uns hier bereits für relative Werte. Können Sie mit Python oder R die prozentualen Anteile der Smartphone-Hersteller im Datensatz berechnen (und sogar nach Anteil absteigend sortieren)?

Lösungsansätze

Ab hier folgen nun verschiedene Lösungswege zu den oben vorgestellten Übungen. Damit Sie die nicht “versehentlich” überscrollen und so Ihrer Übungsmöglichkeiten beraubt werden, folgt hier zunächst ein visueller Bruch.

Winkende weiße Katze als GIF

Trockenübungen

  1. Siehe Unterlagen.
  2. Ein Dateiformat für tabellarische Daten.
  3. JSON ist ein Dateiformat für hierarchische Daten. Es beschreibt mithilfe einer Schlüssel-Wert-Notation jeden Wert einzeln und benötigt deshalb mehr Speicherplatz. Allerdings kann es mit globalen wie lokalen Merkmalen umgehen (CSV: nur global) und kennt grundlegende Datentypen (Zahl vs. Text vs. fehlende Werte).
  4. 23
  5. Kodierungen für Texte. Sie geben die Übersetzung von binär gespeicherten Werten in einzelne Zeichen an. ASCII ist dabei so etwas wie der Ursprung, kann aber nur mit 256 Zeichen umgehen. Die ISO-Normen können mehr, fokussieren aber immer auf einen bestimmten Zeichen- / Sprachraum. UTF-8 ist der Versuch einer dynamischen Länge, um alle Zeichen dieser Welt abbilden zu können.
  6. Box-Plots stellen Lage- und Streumaße einer metrischen Variable verdichtet dar. Dabei stellt die Box den Interquartilsabstand (IQR, 1.–3. Quartil) dar, der Median (2. Quartil) wird als dickere Linie darin abgebildet und die angehängten Linien (“whiskers”) erweitern bis maximal zum 1,5-Fachen des IQR. Mitunter sind weitere Ausreißer als Punkte dargestellt.

Praxisübungen

Merkmale

Merkmalsträger

Es sind 768 Fälle / Erstwählende im Datensatz.

Merkmalsausprägungen und fehlende Werte

Lage- und Streumaße

Histogramme

  1. Samsung: 18%
  2. Xiaomi: 15%
  3. Apple: 10%
  4. LG: 10%
  5. Sony: 8%
  6. Huawei: 7%
  7. Google: 5%
  8. HTC: 5%
  9. Nokia: 5%
  10. Motorola: 4%
  11. OnePlus: 4%

Auf sonstige Hersteller entfallen weitere 10%.