Lorsque l'on compare des échantillons (on parle de comparaison de moyennes), on peut identifier des échantillons qui se distinguent significativement ou non et donc des catégories de moyennes.
Comment distinguer ces catégories souvent indiquées par une lettre ?
En cours de fabrication. Cette page vous renseignera en attendant.
1- Partons d'un exemple de résultats d'une comparaison de voitures réalisées avec pairwise.t.test()
data(mtcars)mtcars$carb[mtcars$carb>=4] <- 4 # Regrouper les autos qui ont plus de 4 carburateurspairwise.t.test(mtcars$mpg,mtcars$carb)-> mon_resultat ; mon_resultatOn voit ainsi différentes caractéristiques de consommation de carburant en fonction du nombre de carburateurs de chaque voiture.
p-values de comparaison deux à deux :
1 2 3 2 0.444 - - 3 0.042 0.189 - 4 0.002 0.022 0.9362- Copier-coller cette fonction tri.to.squ() qui permettra de regrouper les moyennes non significativement différentes
# Fonction réalisée par Fabio Marroni tri.to.squ<-function(x){rn<-row.names(x)cn<-colnames(x)an<-unique(c(cn,rn))myval<-x[!is.na(x)]mymat<-matrix(1,nrow=length(an),ncol=length(an),dimnames=list(an,an))for(ext in 1:length(cn)){ for(int in 1:length(rn)) { if(is.na(x[row.names(x)==rn[int],colnames(x)==cn[ext]])) next mymat[row.names(mymat)==rn[int],colnames(mymat)==cn[ext]]<-x[row.names(x)==rn[int],colnames(x)==cn[ext]] mymat[row.names(mymat)==cn[ext],colnames(mymat)==rn[int]]<-x[row.names(x)==rn[int],colnames(x)==cn[ext]] }}return(mymat)}3- Appliquer le regroupement des échantillons/moyennes non significativement différent.e.s. en copiant-collant ce code à appliquer aux résultats de ma pairwise
library(corrplot)corrplot((1-stud$p.value))#install.packages("multcompView") # Exécuter cette ligne si nécessaire.library(multcompView)multcompLetters(mon_resultat$p.value)mymat<-tri.to.squ(mon_resultat$p.value)myletters<-multcompLetters(mymat,compare="<=",threshold=0.05,Letters=letters)mylettersOn voit ici que ma comparaison de voitures renvoie 3 catégories : a, b, c.
Certains échantillons ne se distinguent pas de l'une ou l'autre des catégories.
1 2 3 4 "a" "ab" "bc" "cCes catégories vont pouvoir être affichées sur les diagrammes en barres avec la fonction text.
by(mtcars$mpg,mtcars$carb,mean) -> moyennesbarplot(moyennes, ylim=c(0,max(moyennes)+2))->bptext(bp,moyennes+1,myletters$Letters)Pour réaliser des diagrammes en barres, afficher les catégories de barres et les intervalles de confiance (barres d'erreur) : il y a cette aide développée sur ce site.
Page en cours d'évolution majeure. Voir cette page qui vous renseignera en attendant.