Diagramme en barres à barres accolées

Diagramme en barres comparant les paramètres du jeu de données iris.

Mots clefs : diagramme en barres avec le logiciel R - R Project CRAN - avec barres d'erreur - intervalles de confiance - barres accolées - barres regroupées.

  • Il faut préalablement traiter les donner pour avoir autant de valeurs que de barres
# Ouvrir votre tableau de valeurs 
data(iris) # Chargement d'un jeu de données préexistant dans R 
# Calcule des moyennes
var1 <- by(iris[,1],iris$Species,mean)
var2 <- by(iris[,2],iris$Species,mean)
var3 <- by(iris[,3],iris$Species,mean)
# Compilation sous la forme de matrice
moyennes = matrix(c(var1,var2,var3),nc=3, byrow=T) # 3 nombre de colonnes (nombre de catégories)
colnames(moyennes) = names(var1)
rownames(moyennes) <- c("var1","var2","var3")

A ce stade, on obtient une matrice : fondamentale pour faire un diagramme en bâtons à barres regroupées :


     setosa versicolor virginica
var1  5.006      5.936     6.588
var2  3.428      2.770     2.974
var3  1.462      4.260     5.552
barplot(moyennes,col=c(5:7),beside=T)  # Pour afficher le diagramme en barres
  1. Calculer les intervalles de confiance - récupérer la fonction int.ech() puis calculer les intervalles de confiance et les mettre sous forme de matrice
# Calcul des moyennes
int.ech = function(vector,proba=5) {
    s = var(vector)
    n = length(vector)
    ddl = n - 1
    proba = (100-proba/2)/100
    t_student = qt(proba, ddl)
    intervalle = t_student * sqrt(s/n)
    return(intervalle)
}
# Calcul des intervalles de confiance
# Exemple pour la note globale du consommateur 1
ic1 <- by(iris[,1],iris$Species,int.ech)
ic2 <- by(iris[,2],iris$Species,int.ech)
ic3 <- by(iris[,3],iris$Species,int.ech)
# Regrouper les intervalles de confiance dans une matrice comme les moyennes
liste_IC <- matrix(c(ic1,ic2,ic3),nc=3, byrow=T) 
colnames(liste_IC) = names(var1)
rownames(liste_IC) <- c("var1","var2","var3")

2. Tracer le graphique

#Récupération la position des barres pour ajouter ensuite les écart-types
# Tracer les barres
bp = barplot(moyennes, xlab="X",ylab="Y",  beside=T, 
         col=c("#FFFFAA","#AAFFAA","#AAFFFF"), ylim=c(0,10), main="Titre")
# Encadrer le diagramme
box()

3. Ajouter les barres d'erreur (intervalles de confiance)

# Ajouter les barres d'erreur
arrows(bp,moyennes-liste_IC,bp, moyennes+liste_IC, lwd=1.5, angle=90,length=0.1,code=3)