Test d’homogénéité des variances en R : F-test, Bartlett, Levene, Fligner

Vérifiez l’hypothèse d’égalité des variances derrière le t-test et l’ANOVA — le F-test pour deux groupes, et Bartlett, Levene et Fligner-Killeen pour plusieurs — avec des conseils clairs sur le choix du test

Apprenez à tester l’hypothèse d’homogénéité des variances (égalité des variances) en R — l’hypothèse qui sous-tend le t-test indépendant et l’ANOVA. Couvre le F-test pour deux groupes (var.test), ainsi que les tests de Bartlett, de Levene et de Fligner-Killeen pour plusieurs groupes, avec des conseils sur le test à choisir selon la normalité de vos données.

Date de publication

23 juin 2026

Modifié

7 juillet 2026

AstucePoints clés
  • L’homogénéité des variances (égalité des variances, homoscédasticité) est l’hypothèse — derrière le t-test indépendant et l’ANOVA — selon laquelle les groupes partagent une variance commune.
  • Pour deux groupes, utilisez le F-test (var.test()) ; pour plusieurs groupes, utilisez le test de Bartlett, de Levene ou de Fligner-Killeen.
  • Le F-test et le test de Bartlett supposent des données normales ; le test de Levene est une alternative robuste, moins sensible à la non-normalité (le plus utilisé en pratique) ; celui de Fligner-Killeen est non paramétrique et le plus robuste.
  • Pour tous, p > 0.05 signifie que l’égalité des variances est vérifiée (hypothèse satisfaite) ; p < 0.05 signifie qu’elle est violée — passez à un test de Welch ou à une alternative non paramétrique.
  • La fonction rstatix::levene_test(), compatible avec le pipe, encapsule car::leveneTest().

Introduction

Plusieurs tests classiques — le t-test à échantillons indépendants et l’ANOVA — supposent que les groupes ont des variances égales (homogénéité des variances, ou homoscédasticité). Avant de faire confiance à ces tests, vous devez vérifier l’hypothèse, et il existe quatre outils courants, qui diffèrent par ce qu’ils supposent des données :

Test Groupes Suppose la normalité ?
F-test (var.test) exactement 2 oui
Bartlett 2 ou plus oui
Levene 2 ou plus non (robuste) — le plus utilisé
Fligner-Killeen 2 ou plus non (non paramétrique, le plus robuste)

Pour tous, l’hypothèse nulle est l’égalité des variances : un résultat non significatif (p > 0.05) est donc ce que vous recherchez — cela signifie que l’hypothèse est vérifiée. Cette leçon exécute chacun d’eux sur les données intégrées ToothGrowth et PlantGrowth.

F-test : comparer deux variances

Le F-test (var.test()) compare les variances de deux groupes par leur rapport — plus il s’éloigne de 1, plus la preuve d’une variance inégale est forte. Il suppose que les données sont normales, vérifiez donc la normalité au préalable. Ici, nous comparons la croissance dentaire len entre les deux types de supplément (supp) :

data("ToothGrowth")
ToothGrowth$dose <- as.factor(ToothGrowth$dose)

var.test(len ~ supp, data = ToothGrowth)

    F test to compare two variances

data:  len by supp
F = 0.6386, num df = 29, denom df = 29, p-value = 0.2331
alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval:
 0.3039488 1.3416857
sample estimates:
ratio of variances 
         0.6385951 

La p-value (0.23) est supérieure à 0.05 : il n’y a donc aucune différence significative entre les deux variances — l’égalité des variances est vérifiée.

Comparer plusieurs variances

Pour trois groupes ou plus, l’hypothèse nulle est que toutes les variances de groupe sont égales ; p < 0.05 signifie qu’au moins deux diffèrent et que l’hypothèse est violée.

Test de Bartlett

Le test de Bartlett gère deux groupes ou plus mais, comme le F-test, suppose la normalité :

data("PlantGrowth")

bartlett.test(weight ~ group, data = PlantGrowth)

    Bartlett test of homogeneity of variances

data:  weight by group
Bartlett's K-squared = 2.8786, df = 2, p-value = 0.2371

La p-value (0.24) est non significative — la variance du poids des plantes ne diffère pas entre les trois groupes de traitement. Pour deux facteurs de groupement, combinez-les avec interaction() :

data("ToothGrowth")
ToothGrowth$dose <- as.factor(ToothGrowth$dose)

bartlett.test(len ~ interaction(supp, dose), data = ToothGrowth)

    Bartlett test of homogeneity of variances

data:  len by interaction(supp, dose)
Bartlett's K-squared = 6.9273, df = 5, p-value = 0.2261

Test de Levene (recommandé)

Le test de Levene est une alternative robuste — bien moins sensible aux écarts à la normalité, ce qui explique pourquoi il est le plus utilisé en pratique. La fonction rstatix::levene_test(), compatible avec le pipe, encapsule car::leveneTest() :

library(rstatix)

data("PlantGrowth")

# one grouping factor
PlantGrowth %>% levene_test(weight ~ group)
# A tibble: 1 × 4
    df1   df2 statistic     p
  <int> <int>     <dbl> <dbl>
1     2    27      1.12 0.341
library(rstatix)

data("ToothGrowth")
ToothGrowth$dose <- as.factor(ToothGrowth$dose)

# two grouping factors and their interaction
ToothGrowth %>% levene_test(len ~ supp * dose)
# A tibble: 1 × 4
    df1   df2 statistic     p
  <int> <int>     <dbl> <dbl>
1     5    54      1.71 0.148

Les deux sont non significatifs (p > 0.05) — l’égalité des variances est vérifiée.

Test de Fligner-Killeen

Le test de Fligner-Killeen est non paramétrique et le plus robuste face à la non-normalité — un bon choix lorsque les données ne sont manifestement pas normales :

data("PlantGrowth")

fligner.test(weight ~ group, data = PlantGrowth)

    Fligner-Killeen test of homogeneity of variances

data:  weight by group
Fligner-Killeen:med chi-squared = 2.3499, df = 2, p-value = 0.3088

À nouveau non significatif (p = 0.31) — les trois tests s’accordent : les variances sont égales.

Quel test devez-vous utiliser ?

  • Deux groupes, données normales → le F-test (var.test()).
  • Plusieurs groupes, données normales → le test de Bartlett.
  • Plusieurs groupes, normalité incertaine → le test de Levene (la recommandation par défaut).
  • Plusieurs groupes, données manifestement non normales → le test de Fligner-Killeen.

Chaque test construit une statistique qui est grande lorsque les variances de groupe divergent. Bartlett compare la variance regroupée aux variances intra-groupes sur une échelle logarithmique (sensible à la normalité). Le test de Levene exécute une ANOVA sur les écarts absolus au centre de chaque groupe (\(|y_{ij} - \tilde{y}_i|\), en utilisant la médiane dans la forme robuste de Brown-Forsythe) — transformant une question de dispersion en une question de moyennes, ce qui explique pourquoi il tolère la non-normalité. Fligner-Killeen remplace ces écarts par des rangs, le rendant pleinement non paramétrique.

Essayez en direct

Testez vous-même l’hypothèse d’égalité des variances, et observez ce qui se passe lorsque les variances diffèrent réellement. Le bac à sable démarre au premier Run.

🟢 Avec un agent IA

Demandez à Prova « vérifie si mes groupes ont des variances égales avant de lancer un t-test ou une ANOVA, et dis-moi quel test de variance convient à mes données » — elle répond avec du code rstatix que vous pouvez exécuter sur vos propres données, et vous aide à choisir entre Levene, Bartlett et Fligner. The runtime is the judge. Demander à Prova →

Problèmes courants

Vous avez utilisé le test de Bartlett (ou le F-test) sur des données non normales. Tous deux sont sensibles à la non-normalité et peuvent signaler une variance inégale qui n’existe pas réellement. Préférez le test de Levene (ou de Fligner-Killeen) lorsque la normalité est incertaine.

Le test de Levene est significatif — que faire maintenant ? L’hypothèse d’égalité des variances est violée. Pour deux groupes, utilisez le t-test de Welch (t.test(..., var.equal = FALSE), la valeur par défaut) ; pour plusieurs groupes, utilisez l’ ANOVA de Welch (welch_anova_test()) avec un post-hoc de Games-Howell, ou un test non paramétrique.

Une colonne de facteur est numérique. Convertissez d’abord les variables de groupement en facteurs (mydata$group <- factor(mydata$group)), sinon le test les traite comme continues.

Questions fréquentes

L’homogénéité des variances (égalité des variances, ou homoscédasticité) signifie que les groupes comparés partagent la même variance — la même dispersion des valeurs. C’est une hypothèse clé du t-test à échantillons indépendants et de l’ ANOVA ; lorsqu’elle n’est pas respectée, ces tests peuvent donner des p-values trompeuses et vous passez à une alternative de Welch ou non paramétrique.

Pour deux groupes, le F-test (var.test()). Pour plusieurs groupes : le test de Bartlett si les données sont normales, le test de Levene si la normalité est incertaine (le choix le plus courant), et le test de Fligner-Killeen si les données sont manifestement non normales. Le test de Levene est le choix par défaut le plus sûr.

L’hypothèse nulle est l’égalité des variances : un résultat non significatif (p > 0.05) signifie donc que l’ hypothèse est vérifiée et que vous pouvez poursuivre. Un résultat significatif (p < 0.05) signifie que les variances diffèrent — utilisez un test de Welch (deux groupes) ou une ANOVA de Welch / un test non paramétrique (plusieurs groupes).

Tous deux comparent les variances de deux groupes ou plus, mais le test de Bartlett suppose que les données sont normales et est sensible aux écarts à cette hypothèse, tandis que le test de Levene s’appuie sur les écarts au centre de chaque groupe, ce qui le rend robuste à la non-normalité. Le test de Levene est préféré, sauf si vous êtes certain que les données sont normales.

Testez vos connaissances

  1. Exécutez-le. Dans la cellule interactive, lancez le test de Levene de weight par group sur PlantGrowth. Complétez le blanc. L’hypothèse d’égalité des variances est-elle satisfaite ?
  2. Conceptuel. Vos données sont manifestement non normales et vous avez quatre groupes. Quel test de variance devez-vous utiliser, et pourquoi pas celui de Bartlett ?

Complétez le blanc avec group. Un p > 0.05 signifie que l’égalité des variances est vérifiée. Pour la question 2, rappelez-vous quels tests supposent la normalité et lesquels ne la supposent pas.

PlantGrowth %>% levene_test(weight ~ group)
#> p ≈ 0.34 > 0.05 — equal variance holds.

L’hypothèse est satisfaite. Pour la question 2 : utilisez le test de Fligner-Killeen (ou de Levene) car il est non paramétrique et robuste à la non-normalité ; le test de Bartlett suppose des données normales et serait peu fiable ici, risquant de signaler une variance inégale qui n’est en réalité que de la non-normalité.

AstuceQuel test, quand ?
  • Deux groupes, normauxF-test (var.test()).
  • Plusieurs groupes, normauxtest de Bartlett.
  • Plusieurs groupes, normalité incertainetest de Levene (par défaut).
  • Plusieurs groupes, non normauxtest de Fligner-Killeen.

Conclusion

Vous savez maintenant tester l’hypothèse d’homogénéité des variances en R avec les quatre outils : le F-test pour deux groupes, et les tests de Bartlett, de Levene et de Fligner-Killeen pour plusieurs — en choisissant parmi eux selon votre degré de confiance dans la normalité. Le test de Levene (rstatix::levene_test()) est le choix robuste par défaut. Lorsque l’ hypothèse échoue, passez à un test de Welch ou à une alternative non paramétrique plutôt qu’au t-test ou à l’ANOVA classiques.

Leçons connexes

Cette page vous a-t-elle été utile ?

Prouvez que vous savez le faire. Maîtrisez toute la série Hypothèses statistiques en R — suivez votre parcours, construisez des projets et obtenez un certificat.

Commencer gratuitement →

Passez à Pro — Prova illimité sur vos propres données et un certificat vérifiable qui atteste la compétence.

dès 15 $/mois facturé annuellement

Passer à Pro →

✓ Vous êtes Pro — continuez. The runtime is the judge.

Recevez les nouvelles leçons R & Python par e-mail

Pratique, reproductible, sans spam. Désinscription à tout moment.

Double opt-in. Nous ne partageons jamais votre e-mail.

Partager cette pageXLinkedInRedditHN
Note

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.

Réutilisation

Citation

BibTeX
@online{2026,
  author = {},
  title = {Test d’homogénéité des variances en R : F-test, Bartlett,
    Levene, Fligner},
  date = {2026-06-23},
  url = {https://www.datanovia.com/learn/biostatistics/assumptions/homogeneity-of-variance-in-r},
  langid = {fr}
}
Veuillez citer ce travail comme suit :
“Test d’homogénéité des variances en R : F-test, Bartlett, Levene, Fligner.” 2026. June 23. https://www.datanovia.com/learn/biostatistics/assumptions/homogeneity-of-variance-in-r.