Permettez-moi (a) d'expliquer d'abord l'idée sous-jacente plutôt que la mécanique - elles deviennent plus évidentes rétrospectivement. Ensuite (b) je parlerai du chi carré (et si c'est approprié - ce n'est peut-être pas le cas!), Puis (c) je parlerai de la façon de le faire en R.
(a) Sous le nul, les populations sont les mêmes. Imaginez que vous regroupiez vos deux cohortes dans un seul ensemble de données volumineux mais que vous ajoutiez une colonne contenant les étiquettes de cohorte. Ensuite, sous le zéro, l'étiquette de cohorte n'est en fait qu'une étiquette aléatoire qui ne vous dit rien de plus sur la distribution d'où provient l'observation.
Dans l'alternative, bien sûr, les étiquettes de cohorte sont importantes - connaître l'étiquette de cohorte vous en dit plus qu'ignorer car les distributions sous les deux étiquettes sont différentes.
(Cela suggère immédiatement une sorte de test de permutation / test de randomisation où une statistique - sensible à l'alternative - calculée sur l'échantillon est comparée à la distribution de la même statistique avec les étiquettes de cohorte réaffectées aux lignes au hasard. Si vous avez fait tout les réaffectations possibles sont un test de permutation, si vous ne les échantillonnez que c'est un test de randomisation.)
(b) Alors maintenant, comment faire un chi carré?
Vous calculez les valeurs attendues sous le null. Étant donné que les étiquettes de cohorte n'ont pas d'importance sous la valeur nulle, vous calculez le nombre attendu dans chaque cellule en fonction de la distribution globale:
Status
A B ... E ... G ... Total
Cohort 1: 10 15 18 84
Cohort 2: 9 7 25 78
Total: 19 22 ... 43 ... 162
Donc, si la distribution était la même, il n'y aurait pas d'association entre la cohorte et le statut, et (sous réserve des totaux des lignes ainsi que des totaux des colonnes) le nombre attendu dans la cellule( i , j ) est row-total-i colonne-total-j / total-total×
Donc, vous obtenez juste un ordinaire test d'indépendance chi carré .
TOUTEFOIS!
Si les étiquettes d'état forment un ordre catégorie , ce test du chi carré jette beaucoup d'informations - il aura une faible puissance contre des alternatives intéressantes (comme un léger glissement vers des catégories supérieures ou inférieures). Dans cette situation, vous devriez faire quelque chose de plus approprié, c'est-à-dire qui prend en compte cet ordre. Il existe de nombreuses options.
-
(c) Maintenant, comment le faire dans R - cela dépend de la façon dont vos données sont actuellement configurées dans R - ce serait vraiment d'avoir un exemple reproductible comme un sous-ensemble de vos données!
Je suppose que vous l'avez dans un bloc de données avec deux colonnes, une avec le statut (un facteur) et une avec la cohorte (un deuxième facteur).
Ainsi:
status cohort
1 B Cohort1
2 B Cohort1
3 D Cohort1
4 B Cohort1
5 C Cohort1
6 D Cohort1
.
.
.
25 G Cohort2
26 E Cohort2
27 E Cohort2
28 D Cohort2
29 C Cohort2
30 G Cohort2
Ensuite, si c'était un bloc de données appelé, statusresults
vous obtiendrez un tableau comme celui que j'ai fait plus tôt avec:
> with(statusresults,table(cohort,status))
status
cohort A B C D E F G
Cohort1 2 6 7 3 0 0 0
Cohort2 0 0 2 2 4 1 3
Et pour le test chisquare, il vous suffirait d'aller:
> with(statusresults, chisq.test(status, cohort))
Pearson's Chi-squared test
data: status and cohort
X-squared = 18.5185, df = 6, p-value = 0.005059
Warning message:
In chisq.test(status, cohort) : Chi-squared approximation may be incorrect
(l'avertissement est dû au fait que les comptes attendus sont faibles dans certaines cellules, étant donné que j'ai utilisé un très petit échantillon)
Si vous avez ordonné des catégories de statut, vous devez le dire, afin que nous puissions discuter d'autres possibilités pour l'analyse que le simple chisquare.