Seit 2019 im DACH-RaumSeit 2019
50+ Statistik-Experten50+ Experten
Über 1.200 Projekte1.200+ Projekte
Alle StatistikprogrammeAlle Programme
Express möglichExpress
Statistik-Ratgeber

Wie führt man einen t-Test in R durch?

R / RStudio · Maximilian Fuchs · 8. Juni 2026 · 9 Min. Lesezeit

Was der t-Test testet – kurz und klar

In R führen Sie einen t-Test mit der Funktion t.test() durch – sie ist Teil der Basisinstallation und steht ohne zusätzliche Pakete sofort zur Verfügung. Die Funktion deckt alle drei gängigen Varianten ab: den Ein-Stichproben-t-Test, den Zwei-Stichproben-t-Test für unabhängige Gruppen und den gepaarten t-Test.

Beim t-Test geht es immer um Mittelwertvergleiche. Die Grundfrage lautet: Unterscheiden sich die Mittelwerte zweier Gruppen – oder der Mittelwert einer Stichprobe von einem bekannten Referenzwert – so stark, dass der Unterschied nicht mehr plausibel durch Zufall erklärbar ist? Die klassische Nullhypothese lautet dabei μ₁ = μ₂, die Alternative μ₁ ≠ μ₂ – die Entscheidung fällt anhand der Teststatistik und des p-Werts.

Welche Variante brauchen Sie?

Bevor Sie den ersten Code schreiben, klären Sie kurz, welcher Testtyp zu Ihrer Fragestellung passt. Das bestimmt, welche Argumente Sie t.test() übergeben.

Übersicht: t-Test-Varianten in R
Variante Typische Fragestellung Entscheidendes Argument
Ein-Stichproben-t-Test Weicht der Mittelwert meiner Gruppe von einem festen Wert (z. B. 0 oder 100) ab? mu = [Referenzwert]
Zwei-Stichproben-t-Test (unabhängig) Unterscheiden sich die Mittelwerte zweier unabhängiger Gruppen (z. B. Kontroll- vs. Experimentalgruppe)? paired = FALSE (Standard)
Gepaarter t-Test Unterscheiden sich Messwerte desselben Messobjekts zu zwei Zeitpunkten (z. B. Prä-/Post-Messung)? paired = TRUE

Falls Sie noch keine klare Vorstellung davon haben, welches Verfahren zu Ihrer Forschungsfrage passt, lohnt ein Blick in unsere statistische Beratung für R-Auswertungen – dort helfen wir Ihnen, das richtige Verfahren methodisch sauber festzulegen.

Voraussetzungen prüfen

Ein t-Test ist kein Allzweckmittel. Wichtige Voraussetzungen sind unabhängige Stichproben, nicht zu stark schiefe Daten und eine sinnvolle Schätzung des Standardfehlers der Mittelwertsdifferenz. In der Praxis bedeutet das:

  • Metrisches Skalenniveau: Ihre abhängige Variable muss intervall- oder verhältnisskaliert sein.
  • Annähernde Normalverteilung: Bei kleinen Stichproben (n < 30) sollten die Daten nicht stark schief sein. Bei größeren Stichproben greift der zentrale Grenzwertsatz, der eine näherungsweise Normalverteilung der Mittelwerte sichert.
  • Unabhängigkeit der Beobachtungen: Jede Person oder Messeinheit darf nur einmal in den Daten vorkommen – außer beim gepaarten Design, wo die Abhängigkeit bewusst modelliert wird.
  • Varianzhomogenität (nur beim klassischen Zwei-Stichproben-t-Test): R verwendet standardmäßig den Welch-Test, der diese Annahme nicht voraussetzt. Dazu gleich mehr.
Gut zu wissen Der zentrale Grenzwertsatz sorgt dafür, dass sich der t-Test bei ausreichend großen Stichproben auch bei nicht-normalverteilten Daten robust verhält. Faustregel: Ab ca. 30 Beobachtungen pro Gruppe sind moderate Abweichungen von der Normalverteilung in der Regel unproblematisch.

t-Test in R durchführen: Schritt für Schritt

Daten vorbereiten

Stellen Sie sicher, dass Ihre Daten korrekt in R eingelesen sind. Falls Sie noch nicht wissen, wie das geht, hilft unser Beitrag zum Importieren von Daten in R. Für die folgenden Beispiele arbeiten wir mit einem kleinen Beispieldatensatz: Testwerte einer Kontroll- und einer Treatmentgruppe.

R
# Beispieldaten erstellen
set.seed(42)
kontrollgruppe  <- c(82, 79, 85, 88, 76, 91, 83, 80, 87, 84)
treatmentgruppe <- c(90, 93, 88, 95, 92, 97, 89, 91, 94, 96)

# Alternativ als Data Frame (typisch bei echten Datensätzen)
df <- data.frame(
  testwert = c(kontrollgruppe, treatmentgruppe),
  gruppe   = factor(rep(c("Kontrolle", "Treatment"), each = 10))
)

Zwei-Stichproben-t-Test (unabhängige Gruppen)

Das ist die häufigste Variante in empirischen Abschlussarbeiten. Die Funktion t.test() unterstützt dabei sowohl eine Vektor-basierte als auch eine Formel-Schnittstelle – Letztere ist bei Data Frames besonders praktisch.

R
# Variante 1: Zwei Vektoren direkt übergeben
t.test(x = treatmentgruppe, y = kontrollgruppe,
       alternative = "two.sided",
       var.equal   = FALSE)   # Welch-Test (Standard)

# Variante 2: Formel-Schnittstelle mit Data Frame
t.test(testwert ~ gruppe, data = df,
       alternative = "two.sided",
       var.equal   = FALSE)

Das Argument var.equal = FALSE ist der R-Standard und bewirkt, dass R den Welch-t-Test verwendet. Dieser schätzt die Freiheitsgrade mit der Welch-Satterthwaite-Approximation und setzt keine gleichen Varianzen in den Gruppen voraus. Für die meisten Fragestellungen in Abschlussarbeiten ist das die richtige Wahl.

Häufiger Fehler Viele Studierende setzen var.equal = TRUE, weil sie den klassischen t-Test aus dem Lehrbuch kennen. In R ist das aber nur dann korrekt, wenn Sie zuvor explizit geprüft haben, dass die Varianzen homogen sind (z. B. per Levene-Test). Im Zweifel: Welch-Test verwenden – er ist robuster und in den meisten Fachzeitschriften akzeptiert.

Ein-Stichproben-t-Test

Sie vergleichen Ihren Stichprobenmittelwert mit einem bekannten Referenzwert – etwa dem Bevölkerungsdurchschnitt oder einem theoretischen Nullwert.

R
# Ein-Stichproben-t-Test: Weicht der Mittelwert von 80 ab?
t.test(x          = treatmentgruppe,
       mu         = 80,
       alternative = "two.sided",
       conf.level  = 0.95)

Gepaarter t-Test

Haben Sie dieselben Personen zweimal gemessen – z. B. vor und nach einer Intervention –, verwenden Sie paired = TRUE. Die Reihenfolge der Werte in den Vektoren muss dabei übereinstimmen (Zeile 1 in Vektor A gehört zu Zeile 1 in Vektor B).

R
# Gepaarter t-Test: Prä-Post-Vergleich
praemessung  <- c(72, 68, 75, 70, 73, 69, 74, 71, 76, 70)
postmessung  <- c(80, 75, 83, 78, 81, 74, 82, 79, 85, 77)

t.test(x      = postmessung,
       y      = praemessung,
       paired = TRUE,
       alternative = "two.sided")

Einseitige Tests

Wenn Sie eine gerichtete Hypothese haben (z. B. „Die Treatmentgruppe erzielt höhere Werte"), passen Sie das Argument alternative an:

  • alternative = "greater" – x ist größer als y
  • alternative = "less" – x ist kleiner als y

Den R-Output verstehen

Ein typischer Output des Zwei-Stichproben-t-Tests sieht so aus:

R Output
	Welch Two Sample t-test

data:  testwert by gruppe
t = -9.3541, df = 17.999, p-value = 2.317e-08
alternative hypothesis: true difference in means between group Kontrolle and group Treatment is not equal to 0
95 percent confidence interval:
 -13.427  -8.573
sample estimates:
mean in group Kontrolle mean in group Treatment 
                   83.5                    92.5

Hier ist, was die einzelnen Zeilen bedeuten:

  • t = −9.35: Die Teststatistik. Der t-Wert ergibt sich als Differenz der Gruppenmittelwerte geteilt durch den Standardfehler dieser Differenz. Ein großer Absolutwert spricht für einen deutlichen Unterschied.
  • df = 17.999: Die Freiheitsgrade nach Welch-Satterthwaite-Approximation. Je größer die Freiheitsgrade, desto stärker nähert sich die t-Verteilung der Standardnormalverteilung.
  • p-value = 2.317e-08: Die Wahrscheinlichkeit, einen so extremen oder noch extremeren t-Wert zu beobachten, wenn die Nullhypothese wahr wäre. Hier weit unter 0,05 – die Nullhypothese wird abgelehnt.
  • 95 percent confidence interval: Das 95%-Konfidenzintervall für die Mittelwertsdifferenz. Da es die 0 nicht einschließt, ist der Unterschied auf dem 5%-Niveau signifikant.
  • sample estimates: Die Gruppenmittelwerte (83,5 vs. 92,5).

Teststatistik des t-Tests

Für die Entscheidung gilt: Überschreitet der absolute t-Wert den kritischen Wert auf Ihrem gewählten Signifikanzniveau – oder liegt der p-Wert unterhalb von α (typischerweise 0,05) –, lehnen Sie die Nullhypothese ab.

Effektstärke berechnen

Ein signifikanter p-Wert sagt noch nichts darüber aus, wie bedeutsam der Unterschied praktisch ist. Deshalb sollten Sie zusätzlich eine Effektstärke berichten – in der Regel Cohens d für t-Tests.

Das Paket effectsize macht das besonders komfortabel. Einen ausführlichen Überblick zu den verfügbaren R-Paketen für statistische Auswertungen finden Sie in unserem separaten Beitrag. Für Cohens d genügen wenige Zeilen:

R
# Paket installieren (einmalig)
install.packages("effectsize")
library(effectsize)

# Cohens d berechnen
cohens_d(testwert ~ gruppe, data = df)

Alternativ berechnen Sie Cohens d auch manuell als Differenz der Mittelwerte geteilt durch die gepoolte Standardabweichung. Einen detaillierten Leitfaden dazu bietet unser Beitrag zum Berechnen von Effektstärken in R.

Cohens d – Formel

Orientierungswerte für Cohens d

  • d ≈ 0,2 → kleiner Effekt
  • d ≈ 0,5 → mittlerer Effekt
  • d ≈ 0,8 → großer Effekt

Häufige Fehler und wie Sie sie vermeiden

Falschen Testtyp gewählt

Der gepaarte t-Test und der Zwei-Stichproben-t-Test führen bei identischen Daten zu unterschiedlichen Ergebnissen. Prüfen Sie deshalb vorab sorgfältig, ob Ihre Messungen abhängig (gepaart) oder unabhängig sind.

Voraussetzungen nicht geprüft

Gerade bei kleinen Stichproben lohnt ein kurzer Shapiro-Wilk-Test auf Normalverteilung (shapiro.test()) und eine visuelle Prüfung per Histogramm oder Q-Q-Plot. Falls Sie mit fehlenden Werten in Ihrem Datensatz arbeiten, lesen Sie zunächst unseren Beitrag zum Umgang mit fehlenden Werten in R – denn NA-Werte können t.test() zum Abbruch bringen, wenn Sie das Argument na.action nicht setzen.

Effektstärke vergessen

Ein p-Wert von 0,04 klingt signifikant – aber bei n = 500 kann selbst ein winziger, praktisch bedeutungsloser Unterschied signifikant werden. Berichten Sie deshalb immer Cohens d oder eine vergleichbare Maßzahl. Viele Hochschulrichtlinien sehen vor, Effektstärken standardmäßig neben dem p-Wert zu berichten.

Ergebnisse nicht nachvollziehbar dokumentiert

Speichern Sie Ihren R-Code in einem Script oder R-Markdown-Dokument, damit Ihre Analyse reproduzierbar ist. Wie Sie Ergebnisse sauber für Ihre Abschlussarbeit aufbereiten, erklärt unser Beitrag zum Exportieren von R-Ergebnissen für Abschlussarbeiten.

Einfach erklärt Wenn Sie unsicher sind, ob der t-Test für Ihre Fragestellung der richtige Ansatz ist – etwa weil Sie mehr als zwei Gruppen vergleichen möchten –, ist die ANOVA in R die natürliche Erweiterung. Bei metrischer abhängiger Variable und metrischen Prädiktoren wäre dagegen eine Regressionsanalyse die passende Wahl.

Falls Sie beim Durchführen oder Interpretieren Ihres t-Tests in R auf Schwierigkeiten stoßen, können Sie sich jederzeit an unsere R-Statistikberatung wenden. Unsere Statistikerinnen und Statistiker begleiten Sie von der Methodenwahl über die Durchführung bis zur Ergebnisdarstellung in Ihrer Abschlussarbeit.

t-Test R Hypothesentest Mittelwertvergleich Welch-Test Cohens d Abschlussarbeit Statistik

Ihr persönlicher Ansprechpartner

Maximilian Fuchs, M. Sc.

Teilen Sie uns mit, wie wir Ihnen helfen können.

  • Persönlicher Ansprechpartner
  • Schnelle Rückmeldung
  • Transparente Preise
  • Schutz Ihrer Daten

Fragen? Einfach anrufen!