werte <- c(0.0133, 0.0004, 0.049999, 0.5, 0.05)
data.frame(p = werte, apa = sapply(werte, p_apa)) p apa
1 0.013300 p = .013
2 0.000400 p < .001
3 0.049999 p = .050
4 0.500000 p = .500
5 0.050000 p = .050
p = .013Jede Methodenseite im Bereich Statistik hat einen Abschnitt „Ergebnis berichten” mit der passenden Vorlage. Diese Seite fasst zusammen, was für alle gilt. Die Formatregeln folgen dem Stil der American Psychological Association (APA, 7. Auflage), der in den Sozial-, Wirtschafts- und Lebenswissenschaften am weitesten verbreitet ist.
| Bestandteil | Warum | Beispiel |
|---|---|---|
| Antwort auf die Frage | Leserin soll ohne Zahlen verstehen, was herauskam | „Maschine A fertigt dünner als Maschine B” |
| deskriptive Werte je Gruppe | ohne sie ist die Richtung nicht prüfbar | M = 12.05 mm, SD = 0.16 |
| Effekt in seiner Einheit mit Intervall | beantwortet „wie viel” | Differenz 0.20 mm, 95% KI [0.05, 0.36] |
| Teststatistik mit Freiheitsgraden | macht das Verfahren nachvollziehbar | t(24.38) = -2.67 |
| p-Wert | Evidenz gegen die Nullhypothese | p = .013 |
| standardisierte Effektstärke | vergleichbar über Studien | d = -0.97 |
| Verfahren und Voraussetzungen | was genau gerechnet wurde | Welch-Test, Normalverteilung per QQ-Plot geprüft |
| Regel | richtig | falsch |
|---|---|---|
| Statistiksymbole kursiv | t, F, p, M, SD | t, F, p |
| führende Null nur, wenn der Wert über 1 steigen kann | p = .013, r = .45, M = 0.97 | p = 0.013 |
| p-Werte exakt, auf drei Stellen | p = .013 | p < .05 |
| sehr kleine p-Werte als Schranke | p < .001 | p = .000 |
| Teststatistiken und Effekte auf zwei Stellen | t = -2.67, d = -0.97 | t mit sechs Nachkommastellen |
| Freiheitsgrade in Klammern | t(24.38), F(2, 42) | t = 2.67, df = 24.38 |
| Konfidenzintervall in eckigen Klammern | 95% KI [0.05, 0.36] | (0.05-0.36) |
In deutschsprachigen Texten wird oft das Dezimalkomma verwendet. Wichtig ist nicht, welche Variante gewählt wird, sondern dass sie im ganzen Text einheitlich ist und zu den Vorgaben der Zeitschrift oder Institution passt.
| Verfahren | Muster |
|---|---|
| t-Test | t(df) = t, p = .xxx, d = x.xx, 95% KI [u, o] |
| ANOVA | F(df1, df2) = F, p = .xxx, η² = .xx |
| Chi-Quadrat | χ²(df, N = n) = x.xx, p = .xxx, V = .xx |
| Korrelation | r(df) = .xx, p = .xxx, 95% KI [.u, .o] |
| Regression, Koeffizient | b = x.xx, SE = x.xx, t(df) = x.xx, p = .xxx |
| Regression, Modell | R² = .xx, F(df1, df2) = x.xx, p = .xxx |
Fünf p-Werte aus Auswertungen sollen im APA-Stil erscheinen: 0.0133, 0.0004, 0.049999, 0.5 und 0.05.
| Eingabe | Ausgabe | Regel |
|---|---|---|
| 0.0133 | p = .013 |
drei Stellen, ohne führende Null |
| 0.0004 | p < .001 |
unter .001 als Schranke |
| 0.049999 | p = .050 |
gerundet; der Wert liegt knapp unter .05, gerundet sieht er aus wie die Grenze |
| 0.5 | p = .500 |
Nullen werden aufgefüllt |
Der dritte Fall zeigt, warum exakte p-Werte besser sind als „signifikant ja oder nein”: .050 gerundet ist praktisch dieselbe Evidenz wie .0500001. Wer an einer harten Grenze entscheidet, macht aus einer kontinuierlichen Grösse eine Schwarz-Weiss-Aussage, siehe Hypothesentests: Grundlagen.
Der Welch-Test aus t-Test für zwei Stichproben soll als vollständiger Ergebnissatz berichtet werden, und zwar so, dass sich der Satz bei neuen Daten von selbst anpasst.
a <- c(11.86, 12.24, 12.02, 11.95, 12.31, 12.10, 11.78, 12.18,
12.05, 11.90, 12.27, 11.99, 12.14, 11.83, 12.08)
b <- c(12.34, 11.97, 12.51, 12.20, 11.88, 12.42, 12.09, 12.67,
12.26, 11.94, 12.45, 12.13, 12.30, 12.01, 12.58)
test <- t.test(a, b)
d <- (mean(a) - mean(b)) / sqrt((var(a) + var(b)) / 2)
round(c(m_a = mean(a), sd_a = sd(a), m_b = mean(b), sd_b = sd(b),
differenz = mean(b) - mean(a)), 2) m_a sd_a m_b sd_b differenz
12.05 0.16 12.25 0.25 0.20
[1] "t(24.38) = -2.67, p = .013, d = -0.97, 95% KI [-0.36, -0.05]"
a = np.array([11.86, 12.24, 12.02, 11.95, 12.31, 12.10, 11.78, 12.18,
12.05, 11.90, 12.27, 11.99, 12.14, 11.83, 12.08])
b = np.array([12.34, 11.97, 12.51, 12.20, 11.88, 12.42, 12.09, 12.67,
12.26, 11.94, 12.45, 12.13, 12.30, 12.01, 12.58])
test = stats.ttest_ind(a, b, equal_var=False)
d = (a.mean() - b.mean()) / np.sqrt((a.var(ddof=1) + b.var(ddof=1)) / 2)
ki = test.confidence_interval()
print("M_A:", round(a.mean(), 2), " SD_A:", round(a.std(ddof=1), 2),
" M_B:", round(b.mean(), 2), " SD_B:", round(b.std(ddof=1), 2),
" Differenz:", round(b.mean() - a.mean(), 2))M_A: 12.05 SD_A: 0.16 M_B: 12.25 SD_B: 0.25 Differenz: 0.2
t(24.38) = -2.67, p = .013, d = -0.97, 95% KI [-0.36, -0.05]
| Teil | Wert | Wie er entsteht |
|---|---|---|
| Freiheitsgrade | 24.38 | Welch, deshalb keine ganze Zahl |
| t | -2.67 | Vorzeichen, weil A minus B gerechnet wird |
| p | p = .013 |
über die Formatfunktion |
| d | -0.97 | Differenz durch die gemittelte Standardabweichung |
| Intervall | [-0.36, -0.05] | Differenz A minus B in Millimetern |
In einem Quarto-Bericht steht dieser Ausdruck nicht in einem sichtbaren Chunk, sondern als Inline-Code mitten im Satz. Ändern sich die Daten, ändert sich der Satz beim nächsten Rendern mit, siehe Reproduzierbarkeit und Berichtsvorlage.
Maschine A fertigte im Mittel dünnere Teile als Maschine B (M = 12.05 mm, SD = 0.16, gegenüber M = 12.25 mm, SD = 0.25; je n = 15), t(24.38) = -2.67, p = .013, d = -0.97, 95% KI [-0.36, -0.05].
t = -2.669121. Mehr Stellen täuschen eine Genauigkeit vor, die die Daten nicht haben.Welche Schreibweise folgt dem APA-Stil?
Ein Test ergibt p = .38. Welcher Satz ist korrekt?
Warum sollte ein Ergebnissatz in einem Bericht mit Inline-Code statt mit abgetippten Zahlen geschrieben werden?