Co to jest test Q Cochrana?
Test Q Cochrana (ang. Cochran’s Q test) sprawdza, czy odsetek odpowiedzi „tak” jest taki sam w trzech lub więcej zmiennych 0/1 zmierzonych u tych samych osób. Zaproponował go Cochran (1950) do porównywania odsetków w próbach zależnych. To rozszerzenie testu McNemara (McNemar, 1947) z dwóch pomiarów na k pomiarów i odpowiednik testu Friedmana dla zmiennych dychotomicznych. Typowy przypadek to kilka pytań tak/nie albo opcje pytania wielokrotnego wyboru zakodowane jako osobne zmienne.
Jak liczyć
k to liczba zmiennych, Cj – liczba odpowiedzi „tak” w kolumnie j, Ri – liczba odpowiedzi „tak” u osoby i, a N – suma wszystkich odpowiedzi „tak”. Przy prawdziwej hipotezie zerowej Q ma w przybliżeniu rozkład χ² z k − 1 stopniami swobody. Istotny wynik mówi tylko, że odsetki się różnią. Które pary się różnią, sprawdź testami McNemara z korektą Holma.
Przykład
Osiemdziesięciu studentów odpowiedziało, czy w ostatnim miesiącu szukali wsparcia u rodziny, u znajomych i u psychologa (dane symulowane). Odpowiedzi „tak” udzieliło 65.0%, 61.3% i 22.5% osób. Odsetki różniły się istotnie, Q(2) = 33.22, p < .001. W porównaniach parami rodzina i znajomi nie różnili się, χ²(1) = 0.21, p = .647, ale wsparcia u psychologa szukano rzadziej niż u rodziny, χ²(1) = 26.27, p < .001, i rzadziej niż u znajomych, χ²(1) = 23.44, p < .001 (oba po korekcie Holma).
Jak opisać w pracy
Na co uważać
- Zwykły χ² zamiast Q. Te same osoby odpowiadają na wszystkie pytania, więc test chi-kwadrat niezależności na zsumowanej tabeli jest błędny. Przy dwóch pomiarach to ten sam problem co w teście McNemara: zwykły χ² testuje inną hipotezę zerową (Pembury Smith i Ruxton, 2020).
- Brak porównań parami. Sam wynik Q nie mówi, które odsetki się różnią.
- Mało par niezgodnych. Gdy niewiele osób zmienia odpowiedź między pytaniami, przybliżenie χ² zawodzi.
Pytania tak/nie w szerszym planie analizy omawia wpis analiza ankiety do pracy dyplomowej.
Test Q Cochrana w R
Kod liczy Q ze wzoru, a potem testy McNemara dla par z korektą Holma. Wynik ręczny zgadza się z funkcją DescTools::CochranQTest().
Q Cochrana i porównania parami
R
set.seed(131)
n <- 80 # 80 studentów, 3 pytania: czy w ostatnim miesiącu szukałeś wsparcia u…
d <- data.frame(rodzina = rbinom(n, 1, .60), znajomi = rbinom(n, 1, .55), psycholog = rbinom(n, 1, .25))
colMeans(d) # odsetki odpowiedzi „tak”
k <- ncol(d); C <- colSums(d); R <- rowSums(d); N <- sum(d)
Q <- (k - 1) * (k * sum(C^2) - N^2) / (k * N - sum(R^2)) # statystyka Q Cochrana
round(c(Q = Q, df = k - 1, p = pchisq(Q, k - 1, lower.tail = FALSE)), 4)
pary <- combn(names(d), 2) # post hoc: McNemar dla par z korektą Holma
p_mcn <- apply(pary, 2, function(x) mcnemar.test(d[[x[1]]], d[[x[2]]], correct = FALSE)$p.value)
names(p_mcn) <- apply(pary, 2, paste, collapse = "-")
round(cbind(p = p_mcn, p_holm = p.adjust(p_mcn, "holm")), 4)Wynik w R
rodzina znajomi psycholog
0.6500 0.6125 0.2250
Q df p
33.2188 2.0000 0.0000
p p_holm
rodzina-znajomi 0.6473 0.6473
rodzina-psycholog 0.0000 0.0000
znajomi-psycholog 0.0000 0.0000Bibliografia oprogramowania
Wyniki pochodzą z uruchomienia pokazanego kodu w R 4.5.3 (funkcje pakietów base i stats); kontrolnie użyto pakietu DescTools 0.99.60.
- 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/
- DescTools: Signorell, A. (2025). DescTools: Tools for descriptive statistics (R package version 0.99.60) [Computer software]. https://CRAN.R-project.org/package=DescTools
Najczęstsze pytania
Kiedy użyć testu Q Cochrana zamiast testu McNemara?
Gdy porównujesz trzy lub więcej zmiennych 0/1 u tych samych osób. Test McNemara obsługuje tylko dwie, a test Q Cochrana przy k = 2 daje ten sam wynik co McNemar bez poprawki na ciągłość.
Jaki post hoc wykonać po teście Q Cochrana?
Porównaj każdą parę zmiennych testem McNemara i skoryguj wartości p, np. metodą Holma. Przy trzech zmiennych to trzy porównania.
Czy test Q Cochrana nadaje się do pytania wielokrotnego wyboru?
Tak, jeśli każdą opcję zakodujesz jako osobną zmienną 0/1. Test sprawdza wtedy, czy opcje są wybierane równie często przez tych samych respondentów.
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ówBibliografia i dalsza literatura naukowa (APA 7)
- Cochran, W. G. (1950). The comparison of percentages in matched samples. Biometrika, 37(3–4), 256–266. https://doi.org/10.1093/biomet/37.3-4.256
- McNemar, Q. (1947). Note on the sampling error of the difference between correlated proportions or percentages. Psychometrika, 12(2), 153–157. https://doi.org/10.1007/BF02295996
- Pembury Smith, M. Q. R., & Ruxton, G. D. (2020). Effective use of the McNemar test. Behavioral Ecology and Sociobiology, 74(11), Article 133. https://doi.org/10.1007/s00265-020-02916-y ● Otwarty dostęp
Cytowania BibTeX
@article{cochran1950comparison, author={Cochran, William G.}, title={{The comparison of percentages in matched samples}}, journal={Biometrika}, year={1950}, volume={37}, number={3–4}, pages={256--266}, doi={10.1093/biomet/37.3-4.256}}@article{mcnemar1947note, author={McNemar, Quinn}, title={{Note on the sampling error of the difference between correlated proportions or percentages}}, journal={Psychometrika}, year={1947}, volume={12}, number={2}, pages={153--157}, doi={10.1007/bf02295996}}@article{pemburysmith2020effective, author={Pembury Smith, Matilda Q. R. and Ruxton, Graeme D.}, title={{Effective use of the McNemar test}}, journal={Behavioral Ecology and Sociobiology}, year={2020}, volume={74}, number={11}, eid={133}, doi={10.1007/s00265-020-02916-y}}