In dieser Übung wendest du R-Funktionen an, welche oft gebraucht werden, um Datensätze zu bearbeiten. Dazu zählen:
Zusätzlich werden einige Funktionen der deskriptiven Statistik repetiert.
In einer longitudinalen Studie wurde untersucht, wie sich der IQ bei Menschen, welche im Koma lagen, erholt. Aufgrund vieler fehlender Werte (missing values), wurde der Original-Datensatz für diese Übung gekürzt. Der Datensatz “IQ_recovery.csv” umfasst folgende Variablen:
days_1
: IQ-Messzeitpunkt: Anzahl Tage seit dem
Komaduration
: Dauer des Komas in Tagensex
: Geschlecht: «Female», «Male»age
: Alter zum Zeitpunkt der VerletzungPiq_1
: Performance IQ (z.B. mathematischer), Zeitpunkt
1viq_1
: Verbaler IQ, Zeitpunkt 1Piq_2
Performance IQ (z.B. mathematischer), Zeitpunkt
2viq_2
Verbaler IQ, Zeitpunkt 2Höhere Punkte entsprechen einem besser IQ (Quelle).
Importiere den Datensatz und speichere ihn in einem Objekt ab. Gib dem Objekt einen kurzen aber treffenden Namen. Schau dir die Struktur des Datensatzes an.
Ich habe den Datensatz “IQ” genannt:
## 'data.frame': 61 obs. of 9 variables:
## $ duration: int 21 94 42 17 60 9 14 20 28 9 ...
## $ sex : chr "Male" "Male" "Female" "Female" ...
## $ age : num 22 20.1 27.3 19.7 17.8 ...
## $ days_1 : int 1491 85 907 146 453 3333 187 525 56 65 ...
## $ piq_1 : int 71 63 63 65 59 86 97 79 65 67 ...
## $ viq_1 : int 94 82 64 98 81 80 97 87 75 67 ...
## $ days_2 : int 3412 576 2259 216 684 3337 438 884 236 189 ...
## $ piq_2 : int 68 91 78 74 66 101 98 87 85 79 ...
## $ viq_2 : int 92 96 79 100 75 84 94 93 88 82 ...
Gibt es Variablen, bei welchen der Datentyp angepasst werden sollte? Führe diese Anpassungen durch, wenn nötig.
Die Variable sex
ist eine kategoriale Variable und
sollte in einen Factor umgewandelt werden.
## 'data.frame': 61 obs. of 9 variables:
## $ duration: int 21 94 42 17 60 9 14 20 28 9 ...
## $ sex : Factor w/ 2 levels "Female","Male": 2 2 1 1 2 2 2 2 2 2 ...
## $ age : num 22 20.1 27.3 19.7 17.8 ...
## $ days_1 : int 1491 85 907 146 453 3333 187 525 56 65 ...
## $ piq_1 : int 71 63 63 65 59 86 97 79 65 67 ...
## $ viq_1 : int 94 82 64 98 81 80 97 87 75 67 ...
## $ days_2 : int 3412 576 2259 216 684 3337 438 884 236 189 ...
## $ piq_2 : int 68 91 78 74 66 101 98 87 85 79 ...
## $ viq_2 : int 92 96 79 100 75 84 94 93 88 82 ...
Vielleicht ist dir aufgefallen, dass es im Datensatz keine
Identifikationsnummern gibt. Erstelle eine Variable ID
von
1 aufsteigend bis \(n\). Schaffst du
es, diese Variable so dem Datensatz hinzuzufügen, dass sie in der ersten
Spalte steht?
Zuerst wird die Variable ID
erstellt:
## [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
## [26] 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
## [51] 51 52 53 54 55 56 57 58 59 60 61
Danach kann die neue Variable und der bisherige Datensatz “zusammengesetzt” werden (hier werden die ersten 6 Zeilen des Datensatzes gezeigt):
## ID duration sex age days_1 piq_1 viq_1 days_2 piq_2 viq_2
## 1 1 21 Male 22.0 1491 71 94 3412 68 92
## 2 2 94 Male 20.1 85 63 82 576 91 96
## 3 3 42 Female 27.3 907 63 64 2259 78 79
## 4 4 17 Female 19.7 146 65 98 216 74 100
## 5 5 60 Male 17.8 453 59 81 684 66 75
## 6 6 9 Male 43.9 3333 86 80 3337 101 84
Erstelle noch zwei weitere Variablen:
viq_diff
, welche die Differenz zwischen
viq_1
und viq_2
darstellt.piq_rel
, also die relative Veränderung des
Performance-IQs (dabei gilt piq_1
als 100%).Füge beide Variablen dem Datensatz hinzu.
Die Variable viq_diff
wird wie folgt erstellt (es werden
die ersten 6 Zeilen des Datensatzes gezeigt):
## ID duration sex age days_1 piq_1 viq_1 days_2 piq_2 viq_2 viq_diff
## 1 1 21 Male 22.0 1491 71 94 3412 68 92 -2
## 2 2 94 Male 20.1 85 63 82 576 91 96 14
## 3 3 42 Female 27.3 907 63 64 2259 78 79 15
## 4 4 17 Female 19.7 146 65 98 216 74 100 2
## 5 5 60 Male 17.8 453 59 81 684 66 75 -6
## 6 6 9 Male 43.9 3333 86 80 3337 101 84 4
Achtung: hier wird der erste Wert vom zweiten Wert abgezogen. Positive Werte bedeuten demnach, dass sich der IQ verbessert hat. Es gibt keine allgemeine Regel, ob man den ersten vom zweiten Wert abzieht oder umgekehrt. Wichtig ist, dass man weiss, wie negative und positive Werte inhaltlich zu interpretieren sind.
Die Variable piq_rel
kann wie folgt berechnet
werden:
## ID duration sex age days_1 piq_1 viq_1 days_2 piq_2 viq_2 viq_diff
## 1 1 21 Male 22.0 1491 71 94 3412 68 92 -2
## 2 2 94 Male 20.1 85 63 82 576 91 96 14
## 3 3 42 Female 27.3 907 63 64 2259 78 79 15
## 4 4 17 Female 19.7 146 65 98 216 74 100 2
## 5 5 60 Male 17.8 453 59 81 684 66 75 -6
## 6 6 9 Male 43.9 3333 86 80 3337 101 84 4
## piq_rel
## 1 -0.0423
## 2 0.4444
## 3 0.2381
## 4 0.1385
## 5 0.1186
## 6 0.1744
males
für die Männer und
einen für die Frauen (females
).## [1] 0.149
## [1] 0.135
Die mittlere relative Veränderung des Performance IQs beträgt 0.149 bei den Männern und 0.135 bei den Frauen. Die Werte sind also ähnlich.
Stelle die relative Veränderung des Performance IQ’s mittels Boxplot dar, jedoch separat für die Männer und die Frauen. Speichere die Grafik / die Grafiken auf deinem Computer.
Variante ohne das Erstellen eines Subsets:
Variante mit subset:
Um die Grafik zu speichern, kannst du im Grafikfenster auf “Export” klicken und die Grafik als Bild abspeichern. Es öffnet sich ein Fenster, wo du die Grösse, den Namen und den Speicherort definieren kannst.
Entferne im Originaldatensatz (nicht in den subsets) die Variable
age
.
Die 4. Variable (age
steht in der 4. Spalte) kann mit
einem Minuszeichen entfernt werden:
## ID duration sex days_1 piq_1 viq_1 days_2 piq_2 viq_2 viq_diff piq_rel
## 1 1 21 Male 1491 71 94 3412 68 92 -2 -0.0423
## 2 2 94 Male 85 63 82 576 91 96 14 0.4444
## 3 3 42 Female 907 63 64 2259 78 79 15 0.2381
## 4 4 17 Female 146 65 98 216 74 100 2 0.1385
## 5 5 60 Male 453 59 81 684 66 75 -6 0.1186
## 6 6 9 Male 3333 86 80 3337 101 84 4 0.1744
Lösche die Person mit der ID = 19 aus dem Datensatz.
Die Person mit der ID 19 steht in der Zeile 19. Diese kann wie folgt entfernt werden:
## ID duration sex days_1 piq_1 viq_1 days_2 piq_2 viq_2 viq_diff piq_rel
## 15 15 2 Male 50 79 93 177 89 102 9 0.127
## 16 16 14 Male 34 70 88 133 82 94 6 0.171
## 17 17 4 Female 69 75 86 202 81 90 4 0.080
## 18 18 28 Male 82 74 92 814 99 96 4 0.338
## 20 20 1 Male 263 79 91 432 92 107 16 0.165
## 21 21 7 Male 31 86 83 2000 104 91 8 0.209
Selbstverständlich muss man solche Datenmanipulationen immer gut dokumentieren und begründen.