Allgemeiner Hinweis zu den Übungen

Für die meisten Aufgaben werden Sie die Statistiksoftware R brauchen. Die benötigten R-Befehle und kurze Programmiercodesequenzen (Skripte) stehen zur Verfügung (siehe Kursunteralgen). Dabei sind drei Aspekte hervorzuheben:

  1. In diesen Übungen geht es darum, die R-Skripte situativ an die jeweilige Fragestellung anzupassen. Es wird nicht erwartet, dass diese Übungen ohne Kursunterlagen gelöst werden können.
  2. Um die Aufgaben zu lösen, öffnet man am besten ein neues Skript in R und schreibt/kopiert die Codes dort hinein. Das Skript kann man mit Kommentaren (#) versehen und dann abspeichern.
  3. Wir zeigen jeweils einen möglichen Lösungsweg auf. In R gibt es jedoch meistens mehrere Wege, welche zum Ziel führen. Falls dein Vorgehen nicht exakt jenem der Lösung entspricht, ist das nicht weiter ein Problem, solange du auf das gleiche Resultat kommst.



Beat the Blues

In einer randomisierten, kontrollierten Studie wurde untersucht, ob das «Beat the Blues» Programm zur Behandlung von Menschen mit Depression effektiver ist als die Standardbehandlung. Der in dieser Übung verwendete Datensatz umfasst einen Teil der insgesamt \(n = 167\) Proband:innen. Mehr Informationen zur Methodik dieser Studie findest du hier. Der Datensatz umfasst folgende Variablen:

  • drug: Ob der Proband Antidepressiva nimmt oder nicht
  • length: Länge der aktuellen Depressionsepisode (<6 Monate oder >6 Monate)
  • treatment: Standardtherapie (TAU) oder «Beat the Blues» (BtheB)
  • bdi_pre: Beck Depression Inventory vor der Therapie
  • bdi_2m: Beck Depression Inventory nach zwei Monaten
  • bdi_4m: Beck Depression Inventory nach vier Monaten
  • bdi_6m: Beck: Depression Inventory nach sechs Monaten
  • bdi_8m: Beck Depression Inventory nach acht Monaten

Ein höherer BDI steht für einen höheren Grad einer Depression.


1: Datensatz einlesen

Aufgabe

Lade den Datensatz herunter und speichere ihn ab. Definiere danach deine Working directory entsprechend. Lies den Datensatz in R ein.


Lösung

Der Datenimport ist am einfachsten mit dem rio-Package. Beachte, dass der Name zwischen den beiden "" identisch mit jenem der Datei auf deinem Rechner sein muss. Die Working directory muss natürlich auch korrekt definiert sein.

library(rio)
BTB <- import("../Data/BTB.csv")

2: Datensatz anschauen

Aufgaben

  1. Schau dir die Struktur des Datensatzes an.
  2. Wie viele Zeilen und Spalten hat der Datensatz?
  3. Schau dir die 6. Zeile des Datensatzes an.
  4. Schau dir die 5. Spalte des Datensatzes an.
  5. Schau dir die Variable treatment an.
  6. Welchen BDI-Wert hat die 12. Person vor der Behandlung?

Lösungen

  1. Nutze einen einfachen Befehl um zu kontrollieren, ob die Daten richtig eingelesen wurden.

Es gibt verschiedene Möglichkeiten, dies zu tun. Du kannst im Global Environment (oben rechts) auf das kleine Tabellensymbol hinter dem neu erstellten Objekt klicken. Dann öffnet sich eine Tabelle und du hast wie eine Excel-Ansicht. Mit str() siehst du die einzelnen Variablen, die jeweilige Datenklasse sowie die ersten Werte. Mit head() kannst du die ersten 6 Zeilen des Datensatzes.

str(BTB)
## 'data.frame':    52 obs. of  9 variables:
##  $ Subject  : int  2 4 6 7 8 9 10 11 14 15 ...
##  $ drug     : chr  "Yes" "No" "Yes" "Yes" ...
##  $ length   : chr  ">6m" ">6m" "<6m" "<6m" ...
##  $ treatment: chr  "BtheB" "BtheB" "BtheB" "TAU" ...
##  $ bdi_pre  : int  32 21 7 17 20 18 20 30 30 23 ...
##  $ bdi_2m   : int  16 17 0 7 20 13 5 32 26 13 ...
##  $ bdi_4m   : int  24 16 0 7 21 14 5 24 36 13 ...
##  $ bdi_6m   : int  17 10 0 3 19 20 8 12 27 12 ...
##  $ bdi_8m   : int  20 9 0 7 13 11 12 2 22 23 ...

  1. Wie viele Zeilen und Spalten hat der Datensatz?
nrow(BTB)
## [1] 52
ncol(BTB)
## [1] 9

  1. Schau dir die 6. Zeile des Datensatzes an.
BTB[6, ]
##   Subject drug length treatment bdi_pre bdi_2m bdi_4m bdi_6m bdi_8m
## 6       9  Yes    <6m     BtheB      18     13     14     20     11

  1. Schau dir die 5. Spalte des Datensatzes an.
BTB[ ,5]
##  [1] 32 21  7 17 20 18 20 30 30 23 16 13 37 35 26 36 10 27 18 11 44 21 34 38 20
## [26] 17 42 33 36 31  7 22 23 17  9 14 28 15 22 21 27 10 21 36 35 33 19 19 16 16
## [51] 11 13

  1. Schau dir die Variable treatment an.
BTB$treatment
##  [1] "BtheB" "BtheB" "BtheB" "TAU"   "TAU"   "BtheB" "BtheB" "TAU"   "TAU"  
## [10] "BtheB" "TAU"   "BtheB" "TAU"   "BtheB" "TAU"   "BtheB" "BtheB" "TAU"  
## [19] "BtheB" "BtheB" "BtheB" "TAU"   "TAU"   "TAU"   "TAU"   "TAU"   "BtheB"
## [28] "BtheB" "TAU"   "TAU"   "BtheB" "TAU"   "TAU"   "TAU"   "BtheB" "TAU"  
## [37] "BtheB" "BtheB" "BtheB" "TAU"   "TAU"   "TAU"   "TAU"   "BtheB" "TAU"  
## [46] "BtheB" "BtheB" "BtheB" "BtheB" "BtheB" "BtheB" "TAU"

  1. Welchen BDI-Wart hat die 12. Person vor der Behandlung?
BTB$bdi_pre[12]
## [1] 13

3: Datentyp anpassen

Aufgabe

Sind alle Datentypen richtig hinterlegt? Korrigiere falls nötig.


Lösung

Die Vaiablen drug, length und treatment sind kategoriale Variablen und müssen in Faktoren umgewandelt werden.

BTB$drug <- factor(BTB$drug)
BTB$length <- factor(BTB$length)
BTB$treatment <- factor(BTB$treatment)
str(BTB)
## 'data.frame':    52 obs. of  9 variables:
##  $ Subject  : int  2 4 6 7 8 9 10 11 14 15 ...
##  $ drug     : Factor w/ 2 levels "No","Yes": 2 1 2 2 1 2 2 1 2 2 ...
##  $ length   : Factor w/ 2 levels "<6m",">6m": 2 2 1 1 2 1 2 2 2 2 ...
##  $ treatment: Factor w/ 2 levels "BtheB","TAU": 1 1 1 2 2 1 1 2 2 1 ...
##  $ bdi_pre  : int  32 21 7 17 20 18 20 30 30 23 ...
##  $ bdi_2m   : int  16 17 0 7 20 13 5 32 26 13 ...
##  $ bdi_4m   : int  24 16 0 7 21 14 5 24 36 13 ...
##  $ bdi_6m   : int  17 10 0 3 19 20 8 12 27 12 ...
##  $ bdi_8m   : int  20 9 0 7 13 11 12 2 22 23 ...

4: Lage und Streumasse

Aufgaben

Berechne folgende Werte für die Variable bdi_8m:

  1. Mittelwert
  2. Varianz
  3. Standardabweichung
  4. Minimum
  5. Maximum
  6. Median
  7. Erstes Quartil
  8. Drittes Quartil

Lösungen

  1. Mittelwert
mean(BTB$bdi_8m)
## [1] 11.13462

  1. Varianz
var(BTB$bdi_8m)
## [1] 86.58937

  1. Standardabweichung
sd(BTB$bdi_8m)
## [1] 9.305341

  1. Minimum
min(BTB$bdi_8m) # oder quantile(BTB$bdi_8m, probs = 0)
## [1] 0

  1. Maximum
max(BTB$bdi_8m)
## [1] 40

  1. Median
median(BTB$bdi_8m)
## [1] 10.5

    1. Quartil
quantile(BTB$bdi_8m, probs = 0.25)
## 25% 
##   3
    1. Quartil
quantile(BTB$bdi_8m, probs = 0.75)
##   75% 
## 15.25

5: Häufigkeitstabellen

Aufgaben

  1. Erstelle eine absolute Häufigkeitstabelle der Variable length.
  2. Erstelle eine relative Häufigkeitstabelle der Variable length.
  3. Erstelle eine Kreuztabelle mit length in den Zeilen und drug in den Spalten (absolute Häufigkeiten).
  4. Erstelle eine Kreuztabelle mit length in den Zeilen und drug in den Spalten. Stelle Spaltenprozente dar.
  5. Erstelle eine Kreuztabelle mit length in den Zeilen und drug in den Spalten. Stelle Zeilenprozente dar.

Lösungen

  1. Erstelle eine absolute Häufigkeitstabelle der Variable length
table(BTB$length)
## 
## <6m >6m 
##  21  31

  1. Erstelle eine relative Häufigkeitstabelle der Variable ?
prop.table(table(BTB$length))
## 
##       <6m       >6m 
## 0.4038462 0.5961538

  1. Erstelle eine absolute Kreuztabelle mit length in den Zeilen und drug in den Spalten
tab <- table(BTB$length, BTB$drug)
tab
##      
##       No Yes
##   <6m 11  10
##   >6m 17  14

  1. Erstelle eine relative Kreuztabelle mit length in den Zeilen und drug in den Spalten (Spatenprozente)
prop.table(tab, margin = 2)
##      
##              No       Yes
##   <6m 0.3928571 0.4166667
##   >6m 0.6071429 0.5833333

  1. Erstelle eine relative Kreuztabelle mit length in den Zeilen und drug in den Spalten (Zeilenprozente)
prop.table(tab, margin = 1)
##      
##              No       Yes
##   <6m 0.5238095 0.4761905
##   >6m 0.5483871 0.4516129

6: Graphische Darstellung von Verteilungen

Aufgabe 1

Erstelle ein Histogramm der Variable bdi_8m. Unterteile das Histogramm in 4 Klassen. Wie beurteilst du die Form der Verteilung?


Lösung 1

hist(BTB$bdi_8m, breaks = 4)

Die Verteilung ist rechts-schief.


Aufgabe 2

Erstelle einen Boxplot der Variable bdi_8m. Erkennt man die asymmetrische Verteilung?


Lösung 2

boxplot(BTB$bdi_8m)

Ja, die Ausreisser nach oben (rechts im Histogramm) sind deutlich. Dies bestätigt die rechts-schiefe Verteilungsform.


Aufgabe 3

Erstelle ein Balkendiagramm für die Verteilung der Variable length. Fällt etwas auf?


Lösung 3

plot(BTB$length)

Es gibt etwas mehr Personen, welche schon seit mehr als 6 Monaten an Depression leiden.