Słownik metodologiczny · Testy statystyczne

Interakcja trójczynnikowa – co znaczy i jak ją rozłożyć?

Interakcja trójczynnikowa to interakcja interakcji: wzór dwóch czynników zmienia się zależnie od trzeciego. Pokazujemy, jak ją czytać, rozłożyć w R i opisać w pracy.

Strona główna / Słownik / Interakcja trójczynnikowa
W skrócie: Interakcja trójczynnikowa oznacza, że interakcja dwóch czynników ma inną postać na różnych poziomach trzeciego. Rozłóż ją na tabele 2 × 2 dla każdego poziomu trzeciego czynnika i porównaj kontrasty interakcji. Wymaga dużej próby.

Co to jest interakcja trójczynnikowa?

Interakcja trójczynnikowa (ang. three-way interaction, A × B × C) występuje wtedy, gdy interakcja dwóch czynników ma inną postać na różnych poziomach trzeciego. Spotkasz ją w ANOVA z trzema czynnikami, np. w rozszerzeniu schematu 2 × 2 o grupę wiekową, i w regresji z iloczynem trzech predyktorów, którą omawia podręcznik Aikena i Westa (1991).

Jak ją czytać

Rozbij model na dwie tabele 2 × 2, po jednej dla każdego poziomu czynnika C. W każdej policz kontrast interakcji, czyli różnicę różnic średnich. Interakcja trójczynnikowa testuje, czy te dwa kontrasty są równe:

(M11 − M12 − M21 + M22)C1 − (M11 − M12 − M21 + M22)C2

Pierwszy indeks oznacza poziom czynnika A, drugi – poziom czynnika B. Dla każdej tabeli narysuj osobny wykres interakcji.

Przykład

Schemat 2 (informacja zwrotna: brak, pozytywna) × 2 (zadanie: łatwe, trudne) × 2 (wiek: młodsi, starsi), po 30 osób w komórce (dane symulowane). U młodszych pozytywna informacja podniosła wynik w trudnym zadaniu o 7.43 pkt, a w łatwym o 0.57 pkt. U starszych pomagała podobnie w obu zadaniach: o 4.00 i 3.30 pkt. Interakcja trójczynnikowa była istotna, F(1, 232) = 6.30, p = .013, η²p = .026. Kontrast interakcji informacja × zadanie wyniósł u młodszych 6.87 pkt, t(232) = 3.22, p = .002, a u starszych −0.70 pkt, t(232) = −0.33, p = .743.

Jak opisać w pracy

Przeprowadzono trójczynnikową ANOVA 2 × 2 × 2. Interakcja informacji zwrotnej, trudności zadania i wieku była istotna, F(1, 232) = 6.30, p = .013, η²p = .026. U młodszych osób pozytywna informacja poprawiała wynik głównie w trudnym zadaniu (kontrast interakcji: 6.87 pkt, t(232) = 3.22, p = .002), a u starszych jej efekt nie zależał od trudności zadania (−0.70 pkt, t(232) = −0.33, p = .743).

Na co uważać

  • Moc jest zwykle niska. Sommet i in. (2023) w metabadaniu 159 badań oszacowali medianę mocy wykrycia interakcji typowej wielkości na .18.
  • „Istotna w jednej grupie, nieistotna w drugiej” to jeszcze nie interakcja trójczynnikowa. Rozstrzyga test członu A × B × C. Przy predyktorach ciągłych Dawson i Richter (2006) proponują test różnic nachyleń zamiast porównywania prostych nachyleń na oko.
  • Dalszy rozkład prowadź przez efekty proste albo kontrasty planowane, z korektą na liczbę testów.
Przykład reprodukowalny

Interakcja trójczynnikowa w R

Kod dopasowuje ANOVA 2 × 2 × 2 z kodowaniem sumacyjnym, liczy kontrast interakcji informacja × zadanie osobno dla każdej grupy wiekowej i zysk z pozytywnej informacji w każdej komórce.

ANOVA 2 × 2 × 2 i kontrasty interakcji

Dane wejściowe: wynik zadania u 240 osób, po 30 w każdej z 8 komórek (dane symulowane, set.seed(1762)).

Co odczytać: wiersz info:zadanie:wiek w tabeli ANOVA, kontrasty interakcji dla młodszych i starszych, tabelę zysków oraz η²p.

R
set.seed(1762)
d <- expand.grid(osoba = 1:30, info = c("brak", "pozytywna"),
                 zadanie = c("latwe", "trudne"), wiek = c("mlodsi", "starsi"))
plus <- with(d, info == "pozytywna" & zadanie == "trudne" & wiek == "mlodsi")   # pomoc przy trudnym zadaniu tylko u młodszych
d$wynik <- round(rnorm(nrow(d), 50 + 7 * plus, 6))        # wynik zadania (dane symulowane)
options(contrasts = c("contr.sum", "contr.poly"))
m <- aov(wynik ~ info * zadanie * wiek, data = d)
summary(m)
suppressPackageStartupMessages(library(emmeans))
contrast(emmeans(m, ~ info * zadanie | wiek), interaction = "pairwise")
sr <- with(d, tapply(wynik, list(info, zadanie, wiek), mean))
round(sr["pozytywna", , ] - sr["brak", , ], 2)   # zysk z pozytywnej informacji: zadanie × wiek
print(effectsize::eta_squared(m, partial = TRUE)[7, 1:2], digits = 3)   # η²p interakcji A × B × C
Wynik w R
                   Df Sum Sq Mean Sq F value   Pr(>F)    
info                1    878   877.8  25.773 7.88e-07 ***
zadanie             1     55    55.1   1.618  0.20466    
wiek                1    288   288.2   8.462  0.00398 ** 
info:zadanie        1    143   142.6   4.187  0.04187 *  
info:wiek           1      2     1.8   0.054  0.81653    
zadanie:wiek        1    555   555.1  16.298 7.36e-05 ***
info:zadanie:wiek   1    215   214.7   6.304  0.01273 *  
Residuals         232   7902    34.1                     
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
wiek = mlodsi:
 info_pairwise    zadanie_pairwise estimate   SE  df t.ratio p.value
 brak - pozytywna latwe - trudne       6.87 2.13 232   3.222  0.0015

wiek = starsi:
 info_pairwise    zadanie_pairwise estimate   SE  df t.ratio p.value
 brak - pozytywna latwe - trudne      -0.70 2.13 232  -0.328  0.7428

       mlodsi starsi
latwe    0.57    4.0
trudne   7.43    3.3
# Effect Size for ANOVA

Parameter         | Eta2 (partial)
----------------------------------
info:zadanie:wiek |          0.026

Bibliografia oprogramowania

Wyniki pochodzą z uruchomienia pokazanego kodu w R 4.5.3 (funkcje pakietów base i stats oraz pakiety emmeans i effectsize).

  1. R: R Core Team. (2026). R: A language and environment for statistical computing (Version 4.5.3) [Computer software]. R Foundation for Statistical Computing. https://www.R-project.org/
  2. emmeans (wersja 2.0.2): Lenth, R., & Piaskowski, J. (2026). emmeans: Estimated marginal means, aka least-squares means [R package]. https://doi.org/10.32614/CRAN.package.emmeans
  3. effectsize (wersja 1.0.2): Ben-Shachar, M. S., Lüdecke, D., & Makowski, D. (2020). effectsize: Estimation of effect size indices and standardized parameters. Journal of Open Source Software, 5(56), 2815. https://doi.org/10.21105/joss.02815

Najczęstsze pytania

Jak zinterpretować istotną interakcję trójczynnikową?

Podziel dane według trzeciego czynnika i w każdej części opisz interakcję dwóch pozostałych. Pokaż wykresy obok siebie i podaj kontrasty interakcji z testami.

Ile osób potrzeba do wykrycia interakcji trójczynnikowej?

Zwykle znacznie więcej niż do efektów głównych. Liczebność zaplanuj analizą mocy dla przewidywanego wzoru średnich, najlepiej symulacyjnie, a nie na podstawie reguły kciuka.

Czy przy istotnej interakcji trójczynnikowej interpretować interakcje dwuczynnikowe?

Ostrożnie. Uśredniona interakcja dwóch czynników może ukrywać przeciwne wzory na poziomach trzeciego, dlatego opis opieraj na rozkładzie interakcji najwyższego rzędu.

Powiązane hasła

Poradniki, w których użyjesz tego pojęcia

Potrzebujesz wsparcia w analizie danych?

Wybierz ofertę dopasowaną do pracy dyplomowej albo profesjonalnego projektu naukowego.

Wyceń analizęOferta dla studentów

Bibliografia i dalsza literatura naukowa (APA 7)

  1. Aiken, L. S., & West, S. G. (1991). Multiple regression: Testing and interpreting interactions. Sage.
  2. Dawson, J. F., & Richter, A. W. (2006). Probing three-way interactions in moderated multiple regression: Development and application of a slope difference test. Journal of Applied Psychology, 91(4), 917–926. https://doi.org/10.1037/0021-9010.91.4.917
  3. Sommet, N., Weissman, D. L., Cheutin, N., & Elliot, A. J. (2023). How many participants do I need to test an interaction? Conducting an appropriate power analysis and achieving sufficient power to detect an interaction. Advances in Methods and Practices in Psychological Science, 6(3), Article 25152459231178728. https://doi.org/10.1177/25152459231178728 ● Otwarty dostęp

Cytowania BibTeX

@book{aiken1991multiple, author={Aiken, Leona S. and West, Stephen G.}, title={{Multiple regression: Testing and interpreting interactions}}, year={1991}, publisher={Sage}}
@article{dawson2006probing, author={Dawson, Jeremy F. and Richter, Andreas W.}, title={{Probing three-way interactions in moderated multiple regression: Development and application of a slope difference test}}, journal={Journal of Applied Psychology}, year={2006}, volume={91}, number={4}, pages={917--926}, doi={10.1037/0021-9010.91.4.917}}
@article{sommet2023how, author={Sommet, Nicolas and Weissman, David L. and Cheutin, Nicolas and Elliot, Andrew J.}, title={{How many participants do I need to test an interaction? Conducting an appropriate power analysis and achieving sufficient power to detect an interaction}}, journal={Advances in Methods and Practices in Psychological Science}, year={2023}, volume={6}, number={3}, eid={25152459231178728}, doi={10.1177/25152459231178728}}
R