Il est possible de réaliser un diagramme de Pareto avec la librairie qcc destinée à la qualité (Méthode 2). On peut aussi faire appel au code donné dans la méthode 1 plus adaptée pour la mise en forme.
Télécharger le script complet ici pour réaliser un tel diagramme de Pareto sinon suivre le code ci-dessous.
Suggestion d'amélioration : permettre d'afficher les données non-converties en fréquence sur l'axe des ordonnées.
Diagramme de Pareto réalisé avec la fonction R ci-dessous.
# Fonction paretopareto = function(x, bar.col="cyan", line.col="red", pch=16, h=80, h.lty=3,main="",xlab="Défauts",ylab="Fréquence (%)", names.arg=c(), ylab2="Cumul",mar=c(5,4,3,4)) {if (length(names.arg)>0) {names.arg=names.arg[order(x, decreasing = TRUE)]}x = sort(x,decreasing=T); x = x*100/sum(x);cumul = (cumsum(x)/sum(x))*100simulation = barplot(x,col=bar.col) ; simulationplot.new()par(mar=mar)barplot(x,col=bar.col,axes=F,ylim=c(0,100),main=main,xlab=xlab,ylab="",names.arg=names.arg)#par(new=TRUE)points(simulation,cumul,pch=pch,col=line.col,xlab="",ylab="",type="o")abline(h=h,lty=h.lty) ; box()axis(2) ; axis(4,c(0,20,40,60,80,100),col.axis=line.col,col=line.col)mtext(ylab,side=2,line=2,cex=1.2) ; mtext(ylab2,side=4,col="red",line=2,cex=1.2)result = c(x , cumul) ; result = matrix(result,nc=length(x), byrow=T)if (length(names.arg)>0) {colnames(result) = names.arg } rownames(result) = c("frequency","cumul")return(result)}2. Préparer les données à traiter. Voici un vecteur contenant des valeurs qui estiment le nombre de problèmes (ou le pourcentage) apparus liés à une cause.
# Valeurs dans une liste valeursvaleurs = c(20,10,12,5,2,80)description = c("Para1","Para2","Para3","Para4","Para5","Para6")3. Tracer le diagramme de Pareto et récupérer les résultats d'analyse
pareto(valeurs,main="Diagramme de Pareto", names.arg=description, bar.col="blue")Diagramme de Pareto réalisé avec la librairie qcc de R.
install.packages("qcc")library(qcc)2. Voici un vecteur x contenant des valeurs qui estiment le nombre de problèmes (ou le pourcentage) apparu lié à une cause
# Valeurs dans une liste xx = c(20,10,12,5,2,80)3. Voici une commande permettant de réaliser un diagramme de Pareto : cette commande vient de la librairie qcc
pareto.chart(x, cumperc = seq(0, 100, by = 5), ylab = "Fréquence", ylab2 = "Cumul")?pareto.chart # accéder à l'aide