Test du Chi-deux d’indépendance dans R : deux variables sont-elles associées ?
Testez si deux variables catégorielles sont associées, mesurez la force de l’association avec le V de Cramér, et identifiez les cellules qui la portent — le chi-deux à la manière moderne
Apprenez à exécuter le test du chi-deux d’indépendance dans R — testez si deux variables catégorielles sont associées à partir d’un tableau de contingence. Calculez-le avec rstatix chisq_test() et la fonction de base chisq.test(), vérifiez l’hypothèse des effectifs attendus (test exact de Fisher pour les petits effectifs), mesurez la force avec le V de Cramér, et trouvez les cellules qui portent l’association avec les résidus de Pearson et un corrplot.
Date de publication
23 juin 2026
Modifié
7 juillet 2026
AstucePoints clés
Le test du chi-deux d’indépendance demande si deux variables catégorielles sont associées — l’une dépend-elle de l’autre ? — à partir de leur tableau de contingence (croisement des effectifs).
Exécutez-le avec chisq.test() (R de base) ou rstatix::chisq_test() ; une petite p-value signifie que les variables ne sont pas indépendantes (elles sont associées).
Hypothèse : chaque effectif attendu par cellule doit être ≥ 5 ; pour les petits effectifs, utilisez plutôt le test exact de Fisher.
Mesurez la force de l’association avec le V de Cramér (cramer_v()) — significativité ≠ force.
Identifiez quelles cellules portent l’association avec les résidus de Pearson et le % de contribution des cellules, visualisés avec corrplot.
Introduction
Le test du chi-deux (χ²) d’indépendance teste si deux variables catégorielles sont associées. Étant donné un tableau de contingence — le croisement du nombre d’observations qui tombent dans chaque combinaison de catégories — il compare les effectifs observés aux effectifs que l’on attendrait si les deux variables étaient indépendantes. Un grand écart signifie que les variables sont liées.
Le scénario classique : dans les couples, la personne qui effectue une tâche ménagère est-elle associée au type de tâche ? Cette leçon déroule le flux de travail complet avec R de base et rstatix sur les données housetasks, puis montre comment lire quelles cellules créent l’association.
Note
Hypothèses du chi-deux d’indépendance.H₀ : les deux variables sont indépendantes (aucune association). Hₐ : elles sont associées (non indépendantes). Un résultat significatif rejette l’indépendance — mais rapportez toujours la force (V de Cramér), pas seulement la p-value.
Astuce
Indépendance vs homogénéité — le même test. Le test d’indépendance du chi-deux (un échantillon, croisé par deux variables) et le test d’homogénéité du chi-deux (plusieurs groupes comparés sur un résultat catégoriel) utilisent le calcul identique (chisq.test() sur un tableau à deux entrées) — ils ne diffèrent que par le plan d’étude et l’interprétation. Tout ce qui est présenté ici s’applique aux deux.
Les données : un tableau de contingence
Nous utilisons le jeu de données housetasks.raw de datarium et le croisons en un tableau de contingence avec la fonction xtabs() de R de base — 13 tâches ménagères × qui les effectue (Partner1, Partner2, Jointly, Alternating) :
data("housetasks.raw", package ="datarium")housetasks.xtab <-xtabs(~ tasks + status, data = housetasks.raw)housetasks.xtab
Un balloon plot montre le tableau — les plus gros points correspondent aux plus grands effectifs :
library(ggpubr)data("housetasks.raw", package ="datarium")housetasks.df <-as.data.frame(xtabs(~ tasks + status, data = housetasks.raw))ggballoonplot(housetasks.df, x ="status", y ="tasks", size ="Freq", fill ="Freq") +gradient_fill(c("white", "#3a86d4"))
Les tâches et la personne qui les effectue sont significativement associées, χ²(36) = 1944.5, p < 2.2e-16 — les deux variables ne sont pas indépendantes.
Avec rstatix
rstatix::chisq_test() donne le même résultat dans une ligne tidy :
Tous les effectifs attendus ici sont bien au-dessus de 5, donc le chi-deux est valide. Si certains sont inférieurs à 5, utilisez plutôt le test exact de Fisher (fisher.test()), qui ne fait aucune approximation pour grand échantillon.
Taille d’effet : quelle est la force de l’association ?
Un chi-deux significatif indique que les variables sont associées ; le V de Cramér indique à quel point (0 = aucune, 1 = parfaite) :
library(rstatix)data("housetasks.raw", package ="datarium")housetasks.xtab <-xtabs(~ tasks + status, data = housetasks.raw)cramer_v(housetasks.xtab)
[1] 0.6096284
V de Cramér = 0.61 — une association forte entre la tâche et qui l’effectue. Rapportez-le toujours : avec de grands échantillons, même une association triviale est « significative », donc c’est la taille d’effet qui vous dit qu’elle compte.
Quelles cellules portent l’association ?
Un tableau significatif ne dit pas où se situe l’association. Deux outils répondent à cela.
Résidus de Pearson (standardisés) — (observed − expected) / √expected par cellule. Grand positif (bleu) = plus que prévu (attraction) ; grand négatif (rouge) = moins que prévu (répulsion) :
% de contribution des cellules — la part de chaque cellule dans le χ² total. Les plus gros contributeurs sont les cellules les plus responsables de l’association :
Les principaux contributeurs sont Repairs/Partner2 (≈ 22 %), Holidays/Jointly (≈ 12 %), Laundry/Partner1 (≈ 8 %) et Main_meal/Partner1 (≈ 5 %) — ensemble ≈ 47 % du χ². L’association est donc surtout : les réparations sont une affaire de Partner2, les vacances sont décidées conjointement, et la lessive/les repas reviennent à Partner1.
Rapport
Un test du chi-deux d’indépendance a révélé une association statistiquement significative entre la tâche ménagère et la personne qui l’effectue, χ²(36) = 1944.5, p < 0.001, avec une taille d’effet forte (V de Cramér = 0.61). L’analyse des contributions des cellules a montré que l’association était principalement portée par les réparations effectuées par Partner2 et les vacances décidées conjointement.
NoteLes mathématiques (optionnel)
La statistique somme l’écart standardisé au carré entre les effectifs observés et attendus sur toutes les cellules : \(\chi^2 = \sum_{ij} \dfrac{(O_{ij} - E_{ij})^2}{E_{ij}}\), où l’effectif attendu sous l’hypothèse d’indépendance est \(E_{ij} = \dfrac{R_i\,C_j}{N}\) (total de la ligne × total de la colonne ÷ total général). Elle est comparée à une distribution du chi-deux à \((r-1)(c-1)\) degrés de liberté. Le V de Cramér la met à l’échelle de 0 à 1 : \(V = \sqrt{\chi^2 / [N\,(k-1)]}\), où \(k\) est le plus petit du nombre de lignes et de colonnes.
Essayez en direct
Exécutez le test du chi-deux sur un tableau intégré — la couleur des cheveux est-elle associée à la couleur des yeux ? Modifiez-le et relancez ; le bac à sable démarre au premier Run.
🟢 Avec un agent IA
Demandez à Prova« J’ai deux variables catégorielles — teste si elles sont associées avec un test du chi-deux, dis-moi la taille d’effet, et quelles cellules la portent » — elle répond avec du code rstatix que vous pouvez exécuter sur votre propre tableau de contingence. The runtime is the judge.Demander à Prova →
Problèmes courants
Certains effectifs attendus sont inférieurs à 5. L’approximation du chi-deux est alors peu fiable — passez au test exact de Fisher (fisher.test()), qui est exact pour les petits effectifs.
Vous avez rapporté la significativité mais pas la force. Avec un grand échantillon, le chi-deux est significatif même pour une association infime. Rapportez toujours le V de Cramér pour que les lecteurs sachent si l’association est assez grande pour compter.
Vous avez passé les données brutes au lieu d’un tableau.chisq.test() veut le tableau de contingence (table() ou xtabs() des deux variables), pas le data frame brut — ou passez les deux colonnes de facteurs directement, chisq.test(x, y).
Questions fréquentes
NoteQu’est-ce que le test du chi-deux d’indépendance ?
Il teste si deux variables catégorielles sont associées — si la distribution de l’une dépend de l’autre — en comparant les effectifs observés par cellule dans leur tableau de contingence aux effectifs attendus si les variables étaient indépendantes. Un résultat significatif signifie que les variables sont associées.
NoteQuelle est la différence entre le test du chi-deux d’indépendance et celui d’homogénéité ?
Ils utilisent le même calcul (chisq.test() sur un tableau à deux entrées) et ne diffèrent que par le plan d’étude. Indépendance : un échantillon croisé par deux variables (sont-elles liées ?). Homogénéité : plusieurs groupes indépendants comparés sur un résultat catégoriel (les groupes ont-ils la même distribution ?). Le code R et l’interprétation de la p-value sont identiques.
NoteQuelles sont les hypothèses du test du chi-deux ?
Des observations indépendantes, un échantillon suffisamment grand, et — la principale — chaque effectif attendu par cellule ≥ 5 (certains tolèrent quelques cellules entre 1 et 5). Lorsque les effectifs attendus sont trop petits, l’approximation du chi-deux s’effondre et vous devriez utiliser le test exact de Fisher.
NoteQuelle taille d’effet va avec un test du chi-deux ?
Le V de Cramér (0 à 1) pour un tableau de n’importe quelle taille, ou le coefficient phi pour un tableau 2×2. Calculez-le avec rstatix::cramer_v(). Rapportez-le aux côtés de la p-value, car un chi-deux significatif dit seulement qu’une association existe, pas à quel point elle est forte.
Testez vos connaissances
ImportantPratique
Exécutez-le. Dans la cellule live, testez si la couleur des cheveux et la couleur des yeux sont associées dans HairEyeColor, et rapportez le V de Cramér. Remplissez le blanc. L’association est-elle significative, et quelle est sa force ?
Conceptuel. Votre chi-deux est significatif avec un énorme échantillon mais le V de Cramér = 0.03. Que concluez-vous ?
NoteIndice
Remplissez le blanc avec cramer_v. Pour la question 2, rappelez-vous que la significativité et la force sont des choses différentes, surtout avec un grand n.
NoteSolution
tab <-margin.table(HairEyeColor, c(1, 2))chisq_test(tab) #> p < 0.0001 — associatedcramer_v(tab) #> ~0.28 — a moderate association
Pour la question 2 : un test significatif avec un V de Cramér = 0.03 signifie que les variables sont techniquement associées mais que l’association est négligeable — la significativité est un artefact du grand échantillon. Rapportez la petite taille d’effet et traitez les variables comme pratiquement indépendantes.
AstuceQuel test, quand ?
Deux variables catégorielles, grands effectifs → test du chi-deux d’indépendance (cette leçon).
Vous savez maintenant exécuter le test du chi-deux d’indépendance dans R : croiser avec xtabs(), tester avec chisq.test() / rstatix::chisq_test(), vérifier l’hypothèse des effectifs attendus ≥ 5 (test exact de Fisher sinon), rapporter la force avec le V de Cramér, et utiliser les résidus de Pearson + les contributions des cellules pour repérer quelles catégories portent l’association. C’est le test de référence pour tout tableau à deux entrées de comptages — et le test d’homogénéité est exactement le même calcul.
Prouvez que vous savez le faire. Maîtrisez toute la série Analyse catégorielle en R — suivez votre parcours, construisez des projets et obtenez un certificat.
Chaque résultat de cette page a été produit par le code montré, exécuté au moment du build contre un environnement R figé — modifiez n’importe quel bloc et faites Run pour le reproduire vous-même.
@online{2026,
author = {},
title = {Test du Chi-deux d’indépendance dans R : deux variables
sont-elles associées\,?},
date = {2026-06-23},
url = {https://www.datanovia.com/learn/biostatistics/categorical/chi-square-test-of-independence-in-r},
langid = {fr}
}