Daten vorbereiten
Oftmals ist es notwendig, den gegebenen Datensatz für die Vorbereitung der Datenanalyse aufzubereiten. Im folgenden Beispiel demonstrieren wir es am Datenstz Gesundheitsreport. Einer der ersten Schritte besteht darin, den Namen der ausgewählten Variable zu ändern. Anschießend sollten alle Zeilen mit fehlenden Werten entfernt werden. Bei einigen Variablen muss das Datenformat geändert werden. In diesem Beispiel werden die numerischen Variablen faktorisiert.
Datenmanagement
Zuerst wird das Programm konfiguriert und nötigen Pakete, in diesem Fall “mosaic”, installiert:
library(mosaic)
Der Datensatz aus dem Arbeitsverzeichnis wird geladen. Der Datensatz wurde dazu heruntergeladen und im gleichen Ordner abgelegt in dem ihr euer Notebook bearbeitet.
daten <- read.csv2("Health.csv")
Für die Prüfung benötigte Variablen werden ausgewählt. Der sich daraus ergebende Datensatz überschreibt den alten “daten”-Datensatz. Sollte der ursprüngliche Datensatz im späteren Verlauf noch gebraucht werden, kann natürlich ein anderer Name vergeben werden, sodass under “daten” der alte Datensatz unverändert vorzufinden ist.
daten <- select(daten, q_001.4, q_004.1, q_004.5, q_004.8,)
Mit dem Befehl “inspect” werden alle statischischen Kennwerte in Form einer Tabelle ausgegeben:
inspect(daten)
##
## quantitative variables:
## name class min Q1 median Q3 max mean sd n missing
## ...1 q_001.4 integer 0 1 5 10 120 6.5171149 8.9591935 818 210
## ...2 q_004.1 integer 0 0 0 1 1 0.3509934 0.4775973 755 273
## ...3 q_004.5 integer 1 1 1 2 3 1.2704485 0.4562179 758 270
## ...4 q_004.8 integer 1 3 4 5 10 4.1268966 1.7024217 725 303
Es kommt häufig vor, dass die Variablen eine spezifische Codierung haben. Für einen beseren Überblick werden die Variablen wie folgt umbenannt: q_001.4 in fehltag; q_004.1 in geschlecht; q_004.5 in azm; q_004.8 in einkom;
names(daten) <- c( "fehltag","geschlecht", "azm", "einkom")
Es kann sein dass einige Zeilen im Datensatz keine Daten enthalten. Die fehlende Einträge werden mit dem Befehl “na.omit” herausgefiltert.
daten <- na.omit(daten)
Mit dem Befehl “inspect” wird anschließend überprüft, ob na.omit die Zeilen mit fehlenden Werten wirklich gelöscht hat:
inspect(daten)
##
## quantitative variables:
## name class min Q1 median Q3 max mean sd n missing
## ...1 fehltag integer 0 1 5 10 80 6.4546763 8.1904846 695 0
## ...2 geschlecht integer 0 0 0 1 1 0.3453237 0.4758162 695 0
## ...3 azm integer 1 1 1 2 3 1.2647482 0.4479964 695 0
## ...4 einkom integer 1 3 4 5 10 4.1237410 1.6836895 695 0
Die zwei nominalen Variablen, geschlecht und azm (Arbeitszeitmodell), die vom Programm als numerische Variablen erkannt wurden, werden durch die neue Zuweisung faktorisiert:
daten$geschlecht[daten$geschlecht == "0"] <- "weiblich"
daten$geschlecht[daten$geschlecht == "1"] <- "männlich"
daten$azm[daten$azm == "1"] <- "Vollzeit"
daten$azm[daten$azm == "2"] <- "Teilzeit"
daten$azm[daten$azm == "3"] <- "KeineBesch"
Mit dem Befehl “inspect” wird dies wieder überprüft:
inspect(daten)
##
## categorical variables:
## name class levels n missing
## 1 geschlecht character 2 695 0
## 2 azm character 3 695 0
## distribution
## 1 weiblich (65.5%), männlich (34.5%)
## 2 Vollzeit (73.8%), Teilzeit (25.9%) ...
##
## quantitative variables:
## name class min Q1 median Q3 max mean sd n missing
## ...1 fehltag integer 0 1 5 10 80 6.454676 8.190485 695 0
## ...2 einkom integer 1 3 4 5 10 4.123741 1.683689 695 0
Der finale Datensatz “daten” mit den ausgewählten Merkmalen enthält vier Variablen von denen zwei Character und zwei Integer als Zahlenformat haben. Es gibt insgesamt 695 Spalten ohne fehlenden Eintrag.
Bei vielen Arbeiten ist das sogenannte data cleansing (Datenbereinigung) der erste Schritt. Diesen sollte man nicht vernachlässigen und ordentlich vollziehen. Ein sauberer, konsistenter Datensatz ist die Basis, welche statistische Berechnungen erst möglich macht. Man sollte entsprechende Schritte auch manuell (hier mit “inspect”) prüfen, um sicher zu gehen dass das Ergebnis der Vorstellung entspricht. So kann man Fehler in den nächsten, komplexeren Schritten vermeiden.