Übung 2 - Häufigkeitstabellen & Masse der zentralen Tendenz
HS 2025
Author
Gidon Frischkorn
Arbeiten mit Variablen, Vektoren und data.frames in R
In dieser Übung sollen Sie sich mit dem Arbeiten von Variablen, Vektoren und Datensätzen - so genannten data.frame Objekten - in R vertraut machen. Das Ziel ist, dass sie wissen wie sie einer Variablen einen Wert zu weisen, wie sie einen Vektor mit unterschiedlichen Werten erstellen können, und wie sie auf Variablen in einem data.frame zugreifen können, um damit einfach Berechnungen durchzuführen.
Um sich mit der Zuweisung von Werten zu Variablen, Vektoren und data.frame Objekten vertraut zu machen, schauen Sie bitte die folgenden kurzen (ca. 5 Minuten langen) Videos auf YouTube an:
In den folgenden Übungen werden Sie mit einem simulierten Datensatz von fiktiven Daten eines Erstsemester-Jahrgangs von Psychologie-Studierenden arbeiten. Sie können Sich den Datensatz auf ihren eigenen Rechner herunterladen: semester_data.csv
Alternativ können Sie hier auf der Website direkt R Code mit Hilfe der webr Erweiterung ausführen um die Aufgaben zu lösen. Der Datensatz enthält die gleichen Variablen, wie die Beispiele in der Vorlesung: geschlecht, wohnort, alter und wissen_statistik, die Werte sind jedoch anders. Unten sehen sie die ersten Zeilen des simulierten Datensatzes.
Hier finden Sie die webr Konsole, die Ihnen das schreiben und durchführen von R Code direkt auf der Website ermöglicht. Wenn viele Studierenden die Übungen parallel machen, dann kann es sein, dass webr sehr langsam wird.
Bitte löschen Sie die ersten Zeilen, die den Datensatz lokal verfügbar machen nicht. Wenn Sie die Zeilen doch aus versehen Löschen sollten dann können Sie auf der rechten Seite der Konsole das Symbol mit den im Kreis drehenden Pfeilen drücken, um die Konsole zurück zu setzen.
Um den Code den Sie geschrieben haben auszuführen drücken Sie entweder Run Code, damit der gesamte Code ausgeführt würde. Alternativ können Sie auch einzelne Zeilen ausführen, indem sie CRTL+Enter (Windows) oder CMD+Enter (Mac) drücken.
Nutzen Sie eine Suchmaschine, wenn Sie nicht wissen welche Funktionen Ihnen ein bestimmtes Ergebnis liefern. Ausserdem können Sie in R immer die Hilfe einer Funktion aufrufen, indem sie vor den Namen der Funktion ein Fragezeichen schreiben, z. Bsp ?median oder die Hilfe-Funktion help() mit dem jeweiligen Funktionsbefehl ausführen: help(median).
Wie hoch liegt der Anteil an Frauen und Männern in den Daten in Prozent?
Um die relative Häufigkeitsverteilung von Frauen und Männern zu erlangen erstellen wir als erstes eine reguläre Häufigkeitsverteilung table(semester_data$geschlecht).
Um die absoluten Häufigkeiten in Prozentwerte umzurechnen müssen wir diese durch die Gesamtzahl an beobachtungen Teilen. Diese können Sie entweder erlangen, in dem sie die Summe der absoluten Häufigkeiten in der Häufigkeitstabelle berechnen: sum(table(semester_data$geschlecht)) oder indem sie einfach die Zeilen des Datensatzes zählen: nrow(semester_data)
Die relative Häufigkeitstabelle multiplizieren wir dann noch mit 100 um Prozentwerte zu erlangen. Mit dieser Lösung sollten Sie heraus finden können das 82.5 % Frauen und 17.5% Männer in der Stichprobe enthalten sind
Was ist der Modus der Häufigkeitsverteilung der Wohnorte im Datensatz semester_data?
Wenn sie eine Häufigkeitsverteilung für den Wohnort generieren: table(semester_data$wohnort), dann können Sie entweder direkt aus der Tabelle ablesen, welche Kategorie die häufigste ist, oder Sie können die Tabelle zusätzlich sortieren lassen sort(table(semester_data$wohnort)). Standardmässig sortiert die Funktion sort() Werte in aufsteigender Reihenfolge, wenn sie die Werte in absteigender Reihenfolge sortieren wollen, dann können sie zusätzlich das Argument decreasing = TRUE setzen.
Wenn Sie diese Funktionen nutzen, dann sollten Sie zu dem Ergebnis kommen, dass Bern mit 64 Personen in der Kategorie die häufigste Kategorie der Variable wohnort ist.
Mit welcher Funktion können Sie ein Histogramm der Altersverteilung der Variable alter im Datensatz semester_data erstellen?
Die Funktion hist() erstellt ein histogramm einer Variablen, die der Funktion übergeben wird. Um ein Histogram der Altersverteilung zu erstellen müssen sie also folgenden Befehl ausführen: hist(semester_data$alter)
Wenn Sie diese Funktion ausführen, dann wird das Histogramm direkt ausgegeben. Sie erhalten jedoch keine weiteren Informationen zu der sekundären Häufigkeitsverteilung, die dem Histogram zu Grunde liegt. Um diese Information zu erhalten, können Sie sich das Ergebniss der Funktion in einer neue Variable speichern: Sek_Häufigkeiten_Alter <- hist(semester_data$alter).
Die Intervallgrenzen der sekundären Häufigkeitsverteilung können Sie mit Sek_Häufigkeiten_Alter$breaks erhalten. Die absoluten Häufigkeiten in den einzelnen Intervallen erhalten Sie mit Sek_Häufigkeiten_Alter$counts. Ebenso können Sie die Mitte der Intervalle mit Sek_Häufigkeiten_Alter$mids erhalten.
Was ist das mittlere Alter der Frauen und in Männer (gerundet auf eine Nachkommastelle) im Datensatz semester_data?
Für diese Aufgabe müssen sie die Werte der variablen alter nach den Merkmalsausprägungen in der Variable geschlecht trennen. Dafür gibt es zwei Möglichkeiten:
Sie können logische Indizierung nutzen, indem sie eine logische Variable is_weiblich <- semester_data$geschlecht == "weiblich" definieren und mit dieser nur die Werte der Frauen bzw. Männer auswählen: semester_data$alter[is_weiblich] bzw. semester_data$alter[!is_weiblich]
Es gibt in R einen Befehl zur Aggregation von Daten aggregate(), der Funktionen wie mean oder median auch für Variablenausprägungen gruppiert berechnen kann. Damit können Sie mit einer einzelnen Funktion die Mittelwerte für Frauen und Männer berechnen: aggregate(semester_data$alter, list(semester_data$geschlecht), FUN = mean)
In der Variable wissen_statistik sollten die Studierenden zu Beginn der VL einschätzen, wie sie ihr Grundlagenwissen im Bereich Statistik einschätzen. Wie viel Prozent (gerundet) schätzen Ihr Wissen gleich oder besser als das Rating 4 ein?
Um die kumulierten Prozente über die Rating-Kategorien zu erlangen, erstellen wir als erstes eine Häufigkeitstabelle table(semester_data$wissen_statistik), wenn wir die Werte dieser Tabelle durch die Gesamtzahl an Beobachtungen sum(table(semester_data$wissen_statistik)), dann bekommen wir eine relative Häufigkeitstabelle table(semester_data$wissen_statistik)/sum(table(semester_data$wissen_statistik)).
Nun müssen wir die Werte für die Ratings 4 und 5 aufsummieren. Alternativ können wir auch die kumlativen relativen Häufigkeiten für die Ratings mit Hilfe der kumulativen Summenfunktion cumsum() berechnen.
Mit Hilfe dieser Funktionen sollten Sie eine relative Häufigkeit von 17.5 % für ein Rating von 4 und von 8.1 % für ein Rating von 5 erhalten. Addiert ergibt das ein gerundetes Rating von 26% für ein Rating von 4 oder höher.