Słownik metodologiczny · Testy statystyczne

Test Q Cochrana – jak porównać kilka odsetków u tych samych osób?

Test Q Cochrana porównuje odsetki odpowiedzi „tak” w trzech lub więcej pytaniach zadanych tym samym osobom. Pokazujemy wzór, przykład z ankiety, porównania parami testem McNemara i kod R.

Strona główna / Słownik / Test Q Cochrana
W skrócie: Test Q Cochrana sprawdza, czy odsetek odpowiedzi „tak” jest taki sam w trzech lub więcej zmiennych 0/1 zmierzonych u tych samych osób. To rozszerzenie testu McNemara; po istotnym wyniku porównaj pary testami McNemara z korektą Holma.

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ć

Q = (k − 1)[kΣCj² − N²] / (kN − ΣRi²)

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

Odsetek osób szukających wsparcia różnił się w zależności od jego źródła, Q(2) = 33.22, p < .001. Testy McNemara z korektą Holma wykazały, że wsparcia u psychologa (22.5%) szukano rzadziej niż u rodziny (65.0%; p < .001) i u znajomych (61.3%; p < .001), a odsetki dla rodziny i znajomych nie różniły się istotnie (p = .647).

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.

Przykład reprodukowalny

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

Dane wejściowe: trzy zmienne 0/1 dla 80 osób: czy szukały wsparcia u rodziny, u znajomych i u psychologa (dane symulowane, set.seed(131)).

Co odczytać: odsetki „tak”, statystykę Q z df i p (0.0000 oznacza p < .001) oraz p dla par przed korektą Holma i po niej.

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.0000

Bibliografia 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.

  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. 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ów

Bibliografia i dalsza literatura naukowa (APA 7)

  1. 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
  2. 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
  3. 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}}
R