Teil 1 – Grundlagen und Setup
01 · Einführung und Lernpfad
- Den Datenanalyse-Zyklus kennen und jede Phase benennen können.
- Den Aufbau dieses Kurses und die Lernpfade überblicken.
- Eine erste Mini-Demo ausführen: Datensatz laden, Form und Mortalitätsrate ausgeben.
Auf dieser Seite
Klinischer Aufhänger
500 Patient:innen einer Intensivstation, eine Tabelle mit Aufnahmeparametern und die Frage deiner Chefärztin: „Wer ist in den ersten 30 Tagen verstorben, und lässt sich das vorhersagen?"
Im Tabellenprogramm stößt du schnell an Grenzen: kein Schritt ist nachvollziehbar, das Ergebnis kippt mit der Sortierung, und ein Jahr später fängst du wieder bei null an. Data Science macht jeden Schritt explizit, reproduzierbar und prüfbar.
Zwei Wege durch den Kurs — wähle einen
(A) Im Browser lernen — der Standard. Installiere nur Python oder R.
Jeden Codeblock kopierst du direkt in deine Konsole; die Daten liest er über
eine Web-Adresse (https://…/data/kohorte.csv) — du musst nichts
herunterladen, klonen oder erzeugen. Welche Pakete du brauchst, sagt dir das
nächste Modul.
(B) Mit dem Repository arbeiten — optional, für volle Reproduzierbarkeit.
Klonst du das Projekt, stehen data/, die Hilfsfunktionen in lib/ und die
fertigen code/-Skripte lokal bereit. Nur dann gelten Abkürzungen wie
pip install -r requirements.txt, source("tools/install_r_packages.R") oder
python data/generate_data.py.
Merke: Codeblöcke mit einer
https://…-Adresse laufen auf beiden Wegen. Nichts in diesem Kurs verlangt, dass du das Repository klonst — es ist ein Komfort, keine Voraussetzung.
1 Warum Data Science in der Medizin?
Medizinische Daten wachsen schneller, als wir sie auswerten können, elektronische Akten, Labor, Bildgebung, Genomik, Wearables. Zugleich steigen die Ansprüche an Evidenz und Reproduzierbarkeit, in der Forschung wie im klinischen Alltag.
Data Science verbindet drei Disziplinen:
Data Science ersetzt das klinische Urteil nicht, es informiert es. Ein Modell mit 95 % Genauigkeit ist wertlos, wenn seine Entscheidungen klinisch unsinnig sind. Domänenwissen bleibt in jeder Phase unverzichtbar.
Für FortgeschritteneVertiefung
Reproduzierbarkeit ist kein Luxus, sondern das Minimum. Ein
Ergebnis, das nach dem Sortieren verschwindet, ist keines. Fester Seed (42) und
versionierter Code sind Pflicht, nicht Kür.
2 Der Datenanalyse-Zyklus
Jede Datenanalyse, ob klinische Studie, Qualitätsprojekt oder Publikation, folgt demselben Kreislauf:
Schritt 3 kostet in der Praxis am meisten Zeit, deshalb widmet ihm dieser Kurs ein eigenes Modul.
3 Kursüberblick und Lernpfade
| Teil | Module | Frage |
|---|---|---|
| Teil 1 – Grundlagen und Setup | 01–03 | Wie richte ich eine reproduzierbare Umgebung ein? |
| Teil 2 – Datenimport, Datenbereinigung und Datenmanagement | 04–07 | Wie komme ich von Rohdaten zu einer sauberen Tabelle? |
| Teil 3 – Explorative Datenanalyse und deskriptive Statistik | 08–09 | Wie verstehe und beschreibe ich meine Daten? |
| Teil 4 – Statistische Inferenz und medizinische Statistik | 10–22 | Wie ziehe ich belastbare Schlüsse, plane Studien und schreibe Berichte? |
| Teil 5 – Machine Learning und KI in der Medizin | 23–34 | Wie baue, validiere und erkläre ich klinische Modelle? |
Empfohlene Lernpfade:
- Mein erstes Paper (statistischer Shortcut) · 7 Module: 02–03 → 06 → 09–10 → 12 → 22
- Schnell zur Auswertung · 6 Module: 02–03 → 06 → 08–10
- Datenextraktion im Fokus · 5 Module: 02 → 04–07
- Klinische Forschung / Publikation · 15 Module: 06 → 09–22
- Statistik-Vertiefung · 13 Module: 09–21
- Machine Learning / KI · 12 Module: 23–34
- Vollständig · 34 Module: 01–34 in didaktischer Reihenfolge
4 Wie du mit dem Material arbeitest
Jedes Modul folgt demselben Bogen:
- Klinischer Aufhänger, eine ärztliche Frage motiviert das Konzept.
- Konzept vor Code, erst das Prinzip, dann das lauffähige Beispiel.
- Python und R nebeneinander, beide Sprachen zeigen dasselbe Ergebnis.
- Übungen (
uebungen.md) zum Selbst-Ausprobieren. - Lösungen (
loesungen.md), erst nach eigenem Versuch.
Alle Module nutzen denselben Datensatz: eine synthetische Intensivkohorte mit 500
fiktiven Patient:innen (kohorte.csv, vitalwerte.csv, labor.csv, notizen.csv),
reproduzierbar per Seed 42, und ohne Datenschutzproblem.
Details: data/README.md.
4b Kohortenüberblick

5 In Python – erste Mini-Demo
Dieses erste Beispiel lädt die Kohorte direkt über eine Web-Adresse, du kannst
es unverändert in eine .py-Datei speichern oder Zeile für Zeile in eine
Python-Konsole einfügen, beides funktioniert ohne lokalen Projekt-Klon.
.py schreiben und mit dem ▶-Knopf in VS Code ausführen – oder Zeile für Zeile in die Python-Konsole. Setzt die in Modul 02 eingerichtete Umgebung voraus.import pandas as pd cohort = pd.read_csv("https://schradern.github.io/data-science-coach/data/kohorte.csv") print("Dataset:", cohort.shape) print(f"30-day mortality: {cohort['verstorben_30d'].mean():.1%}")
🗣 Code-Verbalisierung:
import pandas as pd: Lädt das Paketpandas(die zentrale Tabellen-Bibliothek für Python) und gibt ihm die Kurzbezeichnungpd.cohort = pd.read_csv(...): Liest die Tabellekohorte.csvdirekt von der angegebenen Web-Adresse ein und speichert sie unter dem Namencohort.print("Dataset:", cohort.shape): Gibt die Größe der Tabelle aus, Anzahl Zeilen und Anzahl Spalten.print(f"30-day mortality: ..."): Berechnet den Mittelwert der Spalteverstorben_30d(Anteil verstorbener Patient:innen) und gibt ihn als Prozentzahl aus.
Ausgabe (synthetische Daten):
Dataset: (500, 16) 30-day mortality: 15.6%
Kein Internetzugang oder ein Klinik-Netzwerk, das externe
Verbindungen sperrt? Dann lokal arbeiten: python data/generate_data.py
einmalig aus der Projektwurzel ausführen und anschließend pd.read_csv("data/kohorte.csv")
verwenden. Die vollständigen Skripte in code/python.py/code/r.R machen
genau das automatisch (lokal zuerst, Web-Adresse als Rückfallebene).
Für FortgeschritteneVertiefung
cohort.shape zeigt (Zeilen, Spalten). cohort.info()
ergänzt Datentypen und fehlende Werte je Spalte, der erste sinnvolle Griff nach
jedem Laden.
6 In R – dieselbe Demo
library(readr) cohort <- read_csv("https://schradern.github.io/data-science-coach/data/kohorte.csv", show_col_types = FALSE) cat("Dataset:", nrow(cohort), "x", ncol(cohort), "\n") cat("30-day mortality:", round(mean(cohort$verstorben_30d), 3), "\n")
🗣 Code-Verbalisierung:
library(readr): Lädt das Paketreadr, das die Funktion zum Einlesen von CSV-Dateien bereitstellt.cohort <- read_csv(...): Liest die Tabellekohorte.csvdirekt von der Web-Adresse ein und speichert sie unter dem Namencohort(show_col_types = FALSEunterdrückt nur die Ausgabe der erkannten Spaltentypen).cat("Dataset:", nrow(cohort), "x", ncol(cohort), "\n"): Gibt die Anzahl Zeilen (nrow) und Spalten (ncol) der Tabelle aus.cat("30-day mortality:", ...): Berechnet den Mittelwert der Spalteverstorben_30dund rundet ihn auf drei Nachkommastellen.
Egal ob als Skript (Rscript datei.R) oder Zeile für Zeile in
der R-Konsole (Strg/Cmd+Enter) ausgeführt, read_csv() mit einer
Web-Adresse funktioniert überall identisch, ganz ohne Pfad-Ermittlung.
Fallstricke und Merksätze
-
Data Science ersetzt nicht das klinische Urteil, es informiert es. Modelle zeigen Muster, Ärztinnen und Ärzte interpretieren sie.
-
Reproduzierbarkeit ist kein Luxus. Ein Ergebnis, das sich nach dem Sortieren ändert, ist kein Ergebnis. Fester Seed (hier:
42) und versionierter Code sind Pflicht, nicht Kür. -
80 % Datenaufbereitung, 20 % Analyse, das klingt frustrierend, ist aber normal. Saubere Daten sind der erste Analyseschritt.
-
Alle Beispieldaten in diesem Kurs sind vollständig fiktiv. Für echte Patientendaten gelten DSGVO, Ethikvotum und ärztliche Schweigepflicht.