title: "R-Refresher: R, RStudio und statistisches Arbeiten mit Code"

R-Refresher: R, RStudio und statistisches Arbeiten mit Code

R ist ein Statistikprogramm. RStudio ist eine Arbeitsumgebung, die das Arbeiten mit R übersichtlicher macht. Man kann sich das ungefähr so vorstellen:

R ist der Motor. RStudio ist das Cockpit.

Der Motor führt die Berechnungen aus. Das Cockpit hilft dabei, Code zu schreiben, Daten zu sehen, Grafiken zu betrachten und Ergebnisse zu organisieren.

Inhaltsverzeichnis

  1. Warum R?
  2. R und RStudio: Motor und Cockpit
  3. Wie RStudio ungefähr aussieht
  4. Skript, Konsole, Environment und Plots
  5. Code ausführen
  6. Objekte und Zuweisungen
  7. Funktionen
  8. Packages
  9. Data Frames
  10. Formeln in R
  11. Ein einfacher Analyseablauf
  12. R-Code mit KI-Modellen erstellen
  13. Warum Statistikverständnis trotzdem notwendig ist
  14. Mini-Spickzettel

1. Warum R?

R ist ein kostenloses Programm für Statistik, Datenanalyse und Grafiken. Es wird in vielen wissenschaftlichen Bereichen genutzt, weil es flexibel ist und sehr viele statistische Verfahren unterstützt.

Mit R kann man zum Beispiel:

  • Daten einlesen
  • Daten bereinigen
  • Mittelwerte und Standardabweichungen berechnen
  • t-Tests, ANOVAs und Regressionen durchführen
  • Grafiken erstellen
  • Ergebnisse reproduzierbar dokumentieren

Ein großer Vorteil von R ist, dass Analysen als Code gespeichert werden. Dadurch kann man später genau nachvollziehen, was gemacht wurde.

Das ist ein wichtiger Unterschied zu rein klickbasierten Programmen:

In R bleibt der Analyseweg sichtbar.

2. R und RStudio: Motor und Cockpit

R und RStudio sind nicht dasselbe.

R ist die eigentliche Statistiksoftware. R rechnet.

RStudio ist eine Entwicklungsumgebung. RStudio macht R leichter bedienbar.

Man installiert normalerweise beides:

  1. zuerst R
  2. danach RStudio

Danach startet man meistens nur RStudio. RStudio verwendet R automatisch im Hintergrund.

Eine einfache Analogie:

  • R ist wie ein Motor.
  • RStudio ist wie das Cockpit eines Autos.
  • Der Code ist die Bedienung.
  • Die Daten sind der Treibstoff.
  • Das Ergebnis ist die Strecke, die man analytisch zurücklegt.

3. Wie RStudio ungefähr aussieht

RStudio besteht typischerweise aus mehreren Fenstern. Die genaue Darstellung kann sich je nach Version und Einstellungen unterscheiden, aber die Grundlogik bleibt ähnlich.

Künstlich erzeugte schematische Darstellung von RStudio

Oben links befindet sich häufig das Skriptfenster. Dort schreibt man den Code, den man speichern und später erneut ausführen möchte.

Unten links befindet sich häufig die Konsole. Dort wird Code direkt ausgeführt. Dort erscheinen auch viele Textausgaben.

Oben rechts befindet sich häufig das Environment- oder History-Fenster. Dort sieht man geladene Daten, Objekte und den bisherigen Befehlsverlauf.

Unten rechts befindet sich häufig das Fenster für Plots, Packages, Help und Files. Dort sieht man Grafiken, Hilfeseiten, Dateien oder installierte Packages.

4. Skript, Konsole, Environment und Plots

Skriptfenster

Im Skriptfenster schreibt man Code, den man speichern möchte.

Das ist besonders wichtig, weil statistische Analysen oft wiederholt werden müssen. Vielleicht wird der Datensatz aktualisiert, ein Fehler korrigiert oder eine Analyse leicht verändert. Wenn der Code gespeichert ist, kann man die Analyse erneut ausführen.

Ein Skript ist also eine Art Rezept:

Es beschreibt Schritt für Schritt, wie die Analyse durchgeführt wurde.

Konsole

Die Konsole führt Befehle direkt aus.

Wenn man in der Konsole schreibt:

2 + 2

antwortet R:

4

Die Konsole ist praktisch zum schnellen Ausprobieren. Für echte Analysen sollte man den Code aber lieber im Skript speichern.

Environment

Im Environment sieht man, welche Objekte gerade in R vorhanden sind.

Das können zum Beispiel sein:

  • Datensätze
  • einzelne Variablen
  • Modelle
  • Ergebnisobjekte

Wenn man einen Datensatz einliest, erscheint er normalerweise im Environment.

Plots / Help / Packages

In diesem Bereich sieht man häufig:

  • Grafiken
  • Hilfeseiten
  • Packages
  • Dateien

Wenn man eine Grafik erstellt, erscheint sie oft im Plot-Fenster.

5. Code ausführen

Code kann in RStudio auf verschiedene Weise ausgeführt werden.

Wenn der Code im Skriptfenster steht, klickt man in die gewünschte Zeile und drückt:

Strg + Enter

Auf manchen Tastaturen oder Betriebssystemen kann es leicht anders sein. Die Grundidee bleibt:

Schreibe den Code im Skript, führe ihn zeilenweise oder blockweise aus, prüfe das Ergebnis.

Beispiel:

mean(c(4, 5, 6, 7))

Dieser Befehl berechnet den Mittelwert der Zahlen 4, 5, 6 und 7.

6. Objekte und Zuweisungen

In R speichert man Informationen in Objekten.

Ein Objekt kann zum Beispiel eine Zahl, ein Text, ein Datensatz oder ein Modell sein.

Mit dem Zeichen <- weist man einem Objekt einen Wert zu.

Beispiel:

alter <- 34

Das bedeutet:

Speichere den Wert 34 unter dem Namen alter.

Danach kann man mit alter weiterarbeiten:

alter + 1

R gibt dann aus:

35

Man kann sich ein Objekt wie eine beschriftete Schublade vorstellen. In die Schublade legt man eine Information. Über den Namen findet man sie später wieder.

7. Funktionen

Funktionen sind vorbereitete Befehle. Sie nehmen eine Eingabe, verarbeiten sie und geben ein Ergebnis zurück.

Eine Funktion erkennt man an den runden Klammern.

Beispiel:

mean(c(4, 5, 6, 7))

Die Funktion heißt mean. In den Klammern steht, wovon der Mittelwert berechnet werden soll.

Weitere wichtige Funktionen:

sum()
mean()
sd()
table()
summary()
plot()
lm()
glm()

Eine Funktion funktioniert wie eine kleine Maschine:

  1. Man gibt etwas hinein.
  2. R verarbeitet es.
  3. R gibt ein Ergebnis zurück.

8. Packages

R kann von Anfang an schon sehr viel. Für spezielle Aufgaben braucht man aber oft zusätzliche Erweiterungen. Diese Erweiterungen heißen Packages.

Man kann sich Packages wie Apps vorstellen.

Man installiert ein Package mit:

install.packages("ggplot2")

Man lädt es für die aktuelle Sitzung mit:

library(ggplot2)

Wichtig:

install.packages() muss man normalerweise nur einmal ausführen.

library() muss man in jeder neuen R-Sitzung erneut ausführen, wenn man das Package verwenden möchte.

Beispiel:

install.packages("ggplot2")
library(ggplot2)

9. Data Frames

Ein Data Frame ist eine Datentabelle in R.

Man kann ihn sich ähnlich wie eine Excel-Tabelle vorstellen:

  • Jede Zeile ist ein Fall, zum Beispiel eine Person.
  • Jede Spalte ist eine Variable.
  • Jede Zelle ist ein Datenpunkt.

Beispiel:

daten <- data.frame(
  person = c(1, 2, 3),
  gruppe = c("Therapie", "Kontrolle", "Therapie"),
  stress = c(5, 8, 4)
)

Eine Spalte spricht man mit dem Dollarzeichen an:

daten$stress

Das bedeutet:

Nimm aus dem Data Frame daten die Spalte stress.

10. Formeln in R

Viele statistische Modelle in R verwenden eine Formel.

Eine typische Formel sieht so aus:

AV ~ UV

Die Tilde ~ kann man lesen als:

wird erklärt durch

Beispiel:

lm(Stress ~ Gruppe, data = daten)

Das bedeutet:

Erkläre Stress durch Gruppe.

Bei einer Regression:

lm(Burnout ~ Neurotizismus, data = dat)

Das bedeutet:

Erkläre Burnout durch Neurotizismus.

Bei mehreren UVs:

lm(Burnout ~ Neurotizismus + Alter + Geschlecht, data = dat)

Das bedeutet:

Erkläre Burnout durch Neurotizismus, Alter und Geschlecht.

Eine Interaktion schreibt man mit *:

lm(Burnout ~ Neurotizismus * Geschlecht, data = dat)

Das bedeutet:

Prüfe Neurotizismus, Geschlecht und die Interaktion zwischen Neurotizismus und Geschlecht.

11. Ein einfacher Analyseablauf

Eine saubere Analyse folgt meistens einer ähnlichen Logik.

Schritt 1: Daten einlesen

daten <- read.csv("daten.csv")

Schritt 2: Daten anschauen

head(daten)
summary(daten)
str(daten)

Schritt 3: Variablen prüfen

table(daten$Gruppe)
mean(daten$Stress, na.rm = TRUE)
sd(daten$Stress, na.rm = TRUE)

Schritt 4: Daten grafisch erkunden

plot(daten$Neurotizismus, daten$Burnout)

Oder mit ggplot2:

library(ggplot2)

ggplot(daten, aes(x = Neurotizismus, y = Burnout)) +
  geom_point()

Schritt 5: Modell berechnen

modell <- lm(Burnout ~ Neurotizismus, data = daten)

Schritt 6: Modell prüfen

plot(modell)

Schritt 7: Ergebnis ausgeben

summary(modell)

Schritt 8: Ergebnis interpretieren

Hier beginnt wieder die Statistik. R gibt nur Zahlen aus. Die Interpretation muss fachlich und statistisch sinnvoll erfolgen.

12. R-Code mit KI-Modellen erstellen

R-Code kann heute sehr gut zusammen mit KI-Modellen erstellt werden. Das ist hilfreich, weil Modelle beim Formulieren, Prüfen und Erklären von Code unterstützen können.

Ein KI-Modell kann zum Beispiel helfen bei:

  • dem Schreiben von R-Code
  • dem Finden von Syntaxfehlern
  • der Erklärung von Fehlermeldungen
  • dem Umformen von Daten
  • der Auswahl eines passenden Diagramms
  • dem Kommentieren von Code
  • dem Formulieren eines Ergebnisberichts

Ein guter Prompt könnte sein:

Ich habe eine kontinuierliche AV namens Stress und eine kategoriale UV namens Gruppe mit zwei unabhängigen Gruppen. Bitte schreibe mir R-Code für einen unabhängigen t-Test, inklusive Prüfung der Datenstruktur und kurzer Erklärung.

Oder:

Ich möchte Burnout durch Neurotizismus, Alter und Geschlecht vorhersagen. Burnout ist kontinuierlich. Schreibe mir R-Code für eine multiple lineare Regression mit Modellprüfung.

Wichtig ist aber: Das Modell kann nur dann wirklich gut helfen, wenn die statistische Frage klar beschrieben wird.

Man sollte daher immer angeben:

  • Was ist die AV?
  • Was sind die UVs?
  • Welches Skalenniveau haben die Variablen?
  • Sind die Gruppen unabhängig oder abhängig?
  • Gibt es Messwiederholung?
  • Gibt es mehrere Prädiktoren?
  • Was soll geprüft werden: Unterschied, Zusammenhang oder Vorhersage?

13. Warum Statistikverständnis trotzdem notwendig ist

KI-Modelle können Code erzeugen. Sie können aber nicht automatisch entscheiden, ob die statistische Fragestellung sinnvoll formuliert wurde.

Ein Modell kann zum Beispiel R-Code für eine ANOVA schreiben. Wenn die Daten aber eigentlich verschachtelt sind, wäre möglicherweise ein Mehrebenenmodell passender. Das erkennt man nur, wenn man die Datenstruktur und die statistische Logik versteht.

Deshalb gilt:

KI kann beim Programmieren helfen. Sie ersetzt aber nicht das statistische Denken.

Man sollte insbesondere selbst verstehen:

  • welche Variable die AV ist
  • welche Variablen UVs sind
  • welches Skalenniveau vorliegt
  • ob Gruppen unabhängig oder abhängig sind
  • ob Messwiederholungen vorliegen
  • welche Testvoraussetzungen gelten
  • wie p-Werte und Effektgrößen interpretiert werden
  • welche Schlussfolgerungen das Design überhaupt erlaubt

Sonst besteht die Gefahr, dass man technisch korrekten Code für eine falsche Analyse erhält.

Ein guter Grundsatz lautet:

Lasse dir beim Code helfen, aber entscheide selbst, ob die Analyse zur Forschungsfrage passt.

14. Mini-Spickzettel

Mittelwert berechnen

mean(daten$Stress, na.rm = TRUE)

Standardabweichung berechnen

sd(daten$Stress, na.rm = TRUE)

Häufigkeiten anzeigen

table(daten$Gruppe)

Datenstruktur ansehen

str(daten)

Zusammenfassung anzeigen

summary(daten)

t-Test für zwei unabhängige Gruppen

t.test(Stress ~ Gruppe, data = daten, paired = FALSE)

t-Test für abhängige Messungen

t.test(daten$Stress_vorher, daten$Stress_nachher, paired = TRUE)

Einfache lineare Regression

modell <- lm(Burnout ~ Neurotizismus, data = daten)
summary(modell)

Multiple Regression

modell <- lm(Burnout ~ Neurotizismus + Alter + Geschlecht, data = daten)
summary(modell)

Logistische Regression

modell <- glm(Diagnose ~ Stress + Alter, data = daten, family = binomial())
summary(modell)

Package installieren und laden

install.packages("ggplot2")
library(ggplot2)

Einfache Grafik mit ggplot2

ggplot(daten, aes(x = Neurotizismus, y = Burnout)) +
  geom_point() +
  geom_smooth(method = "lm", se = FALSE)

Abschließender Gedanke

R ist am Anfang ungewohnt, weil man nicht klickt, sondern schreibt. Der Vorteil ist: Jeder Analyseschritt bleibt sichtbar. Dadurch wird Statistik transparenter, wiederholbarer und besser prüfbar.

Wer die statistische Logik versteht, kann R sehr gut nutzen — auch gemeinsam mit KI-Modellen. Entscheidend bleibt aber immer die Frage:

Passt dieser Code wirklich zu meiner Forschungsfrage und zu meinen Daten?