2  Aufgaben für geübte Anwender:innen

2.1 Objekte in R

2.1.1 Aufgabe 2.1.1 Hogwarts-Kurse

In Hogwarts wurden jeweils die vier beliebtesten Kurse der Schüler pro Haus ermittelt. Die Ergebnisse liegen in 2 Tabellen vor.

Tabelle 1
                 Hufflepuff     Slytherin
               Kräuterkunde  Zaubertränke
 Pflege magischer Geschöpfe   Zauberkunst
    Geschichte der Zauberei Dunkle Künste
                 Alte Runen  Legilimentik

 

Tabelle 2:
                            Gryffindor                             Ravenclaw
 Verteidigung gegen die dunklen Künste                           Arithmantik
                           Zauberkunst                            Astronomie
                           Verwandlung                           Verwandlung
                   Besenflugunterricht Verteidigung gegen die dunklen Künste

 

  1. Benutzen Sie die tribble()-Funktion, um die Daten in die Objekte tab1 und tab2 zu überführen.
  2. Fügen Sie tab1 und tab2 zu einem Objekt Hogwarts zusammen.
  3. Nutzen Sie die mutate()-Funktion, um die Datenklassen der Variablen anzupassen (Skalenniveau).
  4. Ändern Sie anschließend mit der mutate()-Funktion den Kurs “Geschichte der Zauberei” in “Geisterkunde” um.
  5. Die Daten liegen nicht im Tidy-Data-Format vor. Erzeugen Sie ein neues Objekt Kurse mit den Variablen Haus und Kurs.
  6. Überführen Sie die Objekte tab1 und tab2 aus a) jeweils in eine data.table. Wiederholen Sie nun die Aufgaben b) bis e), indem Sie ausschließlich Funktionen des data.table-Paketes nutzen.

Lösung siehe Abschnitt 5.1.1

2.1.2 Aufgabe 2.1.2 Aufnahme und Entlassung

Im Datensatz Krankenhaus.RData1 sind die Aufnahme- und Entlassungsdaten von Patienten eines Krankenhauses enthalten, die an einer bestimmten Krankheit leiden.

  1. Laden Sie den Datensatz Krankenhaus.RData in Ihre R-Session.
  2. Ein Variablenname enthält einen Tippfehler. Reparieren Sie auch die Datenklassen der Variablen. Entfernen Sie alle Einträge mit ungültigen Zeitstempeln.
  3. Erstellen Sie die neue Variable Liegedauer, welche die Aufenthaltsdauer in Tagen beinhaltet.
  4. Über welchen Zeitraum wurden die Daten erhoben?
  5. Klassieren Sie die Daten der Aufnahme mit einer neuen Variable Kalenderjahr.
  6. Klassieren Sie die Daten der Entlassung je mit einer neuen Variable Wochentag und Monat.

Lösung siehe Abschnitt 5.1.2

2.1.3 Aufgabe 2.1.3 SPSS Datensatz

Gegeben ist folgender Datensatz: https://www.produnis.de/trainingslager/data/alteDaten-kurz.sav.

  1. Laden Sie den Datensatz in ein R-Objekt
  2. Passen Sie die Datenklassen der Variablen entsprechend des Skalenniveaus an, indem Sie nur Funktionen aus der R Standardinstallation verwenden. Dabei sollen die Variablennamen als Labels erhalten bleiben.
  3. Wiederholen Sie den Vorgang und verwenden dabei Funktionen aus dem tidyverse.

Lösung siehe Abschnitt 5.1.3

2.2 Datensätze auswerten

2.2.1 Aufgabe 2.2.1 Aufnahme und Entlassung

Im Datensatz Krankenhaus.RData2 sind die Aufnahme- und Entlassungsdaten von Patienten eines Krankenhauses enthalten, die an einer bestimmten Krankheit leiden.

  1. Laden Sie den Datensatz Krankenhaus.RData in Ihre R-Session, korrigieren Sie den Tippfehler der Variable ALter, reparieren Sie die Datenklassen der Variablen und entfernen Sie alle Einträge mit ungültigen Zeitstempeln.
  2. Plotten Sie die absoluten Häufigkeiten der Aufnahmen und Entlassungen pro Kalendertag. Was fällt Ihnen auf?
  3. Plotten Sie die durchschnittlichen absoluten Häufigkeiten an täglichen Aufnahmen und Entlassungen pro Wochentag. Was fällt Ihnen auf?
  4. Plotten Sie die durchschnittlichen absoluten Häufigkeiten an täglichen Aufnahmen und Entlassungen pro Monat sowie die absoluten Häufigkeiten pro Tagesstunde.
  5. Erstellen Sie ein Poissionregressionsmodell für die Anzahl der täglichen Aufnahmen erklärt durch den Wochentag. Ist das Modell überdispersioniert? Wieviele Aufnahmen sind an einem Dienstag und an einem Sonntag zu erwarten?
  6. Fügen Sie den Monat als weiteren Prädiktor hinzu. Wird das Modell dadurch besser? Wieviele Aufnahmen sind an einem Donnerstag im Mai zu erwarten, und wieviele im September?
  7. Wie groß ist die Wahrscheinlichkeit, dass an einem Mittwoch im Mai 10 Patienten aufgenommen werden?
  8. Wie groß ist die Wahrscheinlichkeit, dass an einem Mittwoch im Mai zwischen 4 und 7 Patienten aufgenommen werden?
  9. Wie groß ist die Wahrscheinlichkeit, dass an einem Montag im Januar maximal 2 Patienten aufgenommen werden?
  10. Erzeugen Sie ein Histogramm des Alters der Probanden. Was fällt Ihnen auf? Korrigieren Sie wenn nötig die Daten. Ist das Alter der Probanden normalverteilt?
  11. Stellen Sie das Alter der Männern und Frauen tabellarisch und graphisch dar. Unterscheidet sich das Alter der Probanden zwischen Männern und Frauen?
  12. Ist der Unterschied signifikant?
  13. Ab welchem Alter sind 10% der Männer älter als dieser Wert?
  14. Ab welchem Alter sind 80% der Frauen jünger als dieser Wert?
  15. Wie groß ist die mittlere Liegedauer in Tagen? Stellen Sie die Liegedauer mittels Kennwerten sowie graphisch dar. Was fällt Ihnen auf?
  16. Wie viel Prozent der Patienten haben eine Liegedauer von mehr als 7 Tagen?
  17. Unterscheiden sich Männer und Frauen hinsichtlich der Liegedauer? Stellen Sie den Unterschied ebenfalls tabellarisch und graphisch dar.
  18. Ist der Unterschied der Liegedauer zwischen Männern und Frauen signifikant?

Lösung siehe Abschnitt 5.2.1

2.2.2 Aufgabe 2.2.2 Lungenkapazität

Tager et al. (1983) haben die Auswirkungen des mütterlichen Zigarettenrauchens auf die Lungenfunktion in einer Kohorte von Kindern und Jugendlichen untersucht, die über einen Zeitraum von sieben Jahren prospektiv beobachtet wurden. Dabei wurde auch erfasst, ob die Kinder selbst rauchen oder nicht. Die dazugehörigen Daten stehen unter anderem im GLMsData-Zusatzpaket unter dem Namen lungcap zur Verfügung. Im Datensatz beschreibt FEV das forcierte exspiratorische Volumen in Litern, ein Maß für die Lungenkapazität. Die Variable Ht beschreibt die Körpergröße der Probanden in Zoll. Ob die Kinder selbst auch rauchen, ist in der Variable Smoke erfasst.

  1. Laden Sie den Datensatz lungcap in Ihre R-Session
  2. Erzeugen Sie eine neue Variable, welche die Körpergröße in Zentimetern enthält (1 Zoll = 2,54cm)
  3. Plotten Sie nebeneinander die Boxplots der Lungenkapazität nichtrauchenden und rauchenden Kindern. Legt das Diagramm einen Zusammenhang nahe?
  4. Führen Sie einen Signifikanztest durch, um zu überprüfen, ob sich die Lungenkapazitäten in Abhängigkeit zu Smoke unterscheidet.
  5. Erzeugen Sie eine Punktwole des Lungenvolumens und des Alters. Legt das Diagramm einen Zusammenhang nahe?
  6. Erzeugen Sie eine Punktwole des Lungenvolumens und der Körpergröße. Legt das Diagramm einen Zusammenhang nahe?
  7. Welches Regressionsmodell ist am besten geeignet, um FEV erklärt durch Alter zu bestimmen?
  8. Welches Regressionsmodell ist am besten geeignet, um FEV erklärt durch Körpergröße zu bestimmen?
  9. Berechnen Sie das Modell, welches FEV am besten erklärt.
  10. Plotten Sie eine Punktwolke, mit FEV auf der Y-Achse, und dem besten Prädiktor auf der X-Achse. Färben Sie die Daten mittels der Variable Smoke. Fügen Sie anschließend Ihre Modelllinie dem Plot hinzu.
  11. Fügen Sie Smoke, Age und Gender als weitere Prädiktor dem Modell hinzu. Hat Rauchen einen Einfluss auf FEV?

Weitere Informationen zur Auswertungsstrategie finden sich bei Kahn (2005).

Lösung siehe Abschnitt 5.2.2

2.2.3 Aufgabe 2.2.3 Brustkrebs

Die Daten von mehr als 1200 Patientinnen mit Brustkrebs finden sich im Datensatz https://www.produnis.de/trainingslager/data/breast.sav.

  1. Importieren Sie den Datensatz in Ihre R-Session und machen Sie sich mit dem Datensatz vertraut.
  2. Klassieren Sie die Variablen
  • pathsize in die Größen
    • “2cm und weniger”,
    • “2 - 5cm” und
    • “> 5cm”
  • lnpos in die Kategorien
    • “0 \(\rightarrow\) nein” und
    • “>0 \(\rightarrow\) ja”
  • er in die Kategorien
    • “0 \(\rightarrow\) negativ” und
    • “>0 \(\rightarrow\) positiv”
  • pr in die Kategorien
    • “0 \(\rightarrow\) negativ” und
    • “>0 \(\rightarrow\) positiv”
  1. Kodieren Sie die Variable histgrad um, so dass korrekte NAs enthalten sind.
  2. Erstellen Sie ein Überlebenszeitmodell status erklärt durch time und geben Sie die Überlebenstafel sowie die Kaplan-Meier-Plots der kumulierten Überlebenswahrscheinlichkeiten aus.
  3. Gruppieren Sie Ihr Modell mit den zuvor klassierten Variablen zum
    • Lymphknotenbefall
    • Östrogenstatus
    • Progesteronstatus
    • histologischen Grad
    • Tumorgröße
    und plotten Sie jeweils die Kaplan-Meier-Kurven.
  4. Führen Sie eine Cox-Regression auf das Überleben durch, wobei die klassierten Werte der Tumorgröße, des Lymphknotenbefalls, des Östrogen- und Progesteronstatus sowie des histologischen Grades als Prädiktoren verwendet werden. Stellen Sie Ihre Ergebnisse als Forest-Plot dar.

Lösung siehe Abschnitt 5.2.3

2.2.4 Aufgabe 2.2.4 data.table Rolling Stone

In dieser Aufgabe soll der Tidy Tuesday Datensatz “Rolling Stone” vom 07.05.20243 mit dem Paket data.table ausgewertet werden. Er enthält die „500 besten Alben aller Zeiten“-Listen des Rolling Stone Magazine aus den Jahren 2003, 2012 und 2020.

  1. Laden Sie den Datensatz als data.table von https://www.produnis.de/trainingslager/data/rolling_stone.csv in Ihre R-Session, und machen Sie sich mit den Daten vertraut.

Lösung siehe Abschnitt 5.2.4


  1. siehe https://www.produnis.de/trainingslager/data/Krankenhaus.RData↩︎

  2. siehe https://www.produnis.de/trainingslager/data/Krankenhaus.RData↩︎

  3. siehe https://github.com/rfordatascience/tidytuesday/tree/master/data/2024/2024-05-07↩︎