box plot et barre d'erreur

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

paul villaespesa
Messages : 12
Enregistré le : 13 Avr 2018, 17:25

box plot et barre d'erreur

Messagepar paul villaespesa » 29 Mai 2018, 12:00

Bonjour à tous,
Voilà sur un boxplot j'ai ajouter un trait pour y faire figurer aussi la moyenne.
J'ai aimer pouvoir y ajouter une barre d'erreur à cette moyenne.

Je me pose la question si je ne doit pas ajouter un barreplot sur mon boxplot pour y faire figurer ca.

Voici l'exemple de mon code:

Code : Tout sélectionner

sdQ11<-by(Questionnaire$Q11,Questionnaire$Date,sd,na.rm=TRUE)
test<-boxplot(Questionnaire$Q11~Questionnaire$Date,main="Q11",cex.main=1,ylim=c(1,5),outline=FALSE)
mean<-tapply(Questionnaire$Q11,Questionnaire$Date,mean,na.rm=TRUE)
points(mean,pch='_',col=("red"),cex=3)
box()
#donc j'essaye d'ajouter mes barre d'erreur
arrows(test,mean-sdQ11,test,mean+sdQ11,lwd=1.5,angle=90,lenght=0.1,code=3)


mais R m'affiche

Code : Tout sélectionner

Error in arrows(test, mean - sdQ11, test, mean + sdQ11, lwd = 1.5, angle = 90,  :
  premier argument incorrect

Comme si cela ne pouvez s'appliquer a un boxplot.
J'ai pensé a passer avec ggplot avec geom_crossbar() et geom_errorbar() mais je n'arrive pas à l'utiliser.
Geom_crossbar() m’intéresse car dans un idéal je voudrait ne pas afficher les moustache de mes boxplots.

Cordialement
Paul

Serge Rapenne
Messages : 1426
Enregistré le : 20 Aoû 2007, 15:17
Contact :

Re: box plot et barre d'erreur

Messagepar Serge Rapenne » 29 Mai 2018, 12:31

Bonjour,

l'erreur est tout à fait normal car test est une liste et mean (d’ailleurs il faut éviter d’appeler une variable par le nom d'une fonction) un data.frame et donc le arrows(test ... ne peut fonctionner

Code : Tout sélectionner

str(test)
str(mean)
pour s'en convaincre.

Je trouve étrange de vouloir ajouter des barres d'erreurs sur un boxplot mais

Code : Tout sélectionner

arrows(mean[,1],mean[,2]-sdQ11[,2],mean[,1],mean[,2]+sdQ11[,2],lwd=1.5,angle=90,lenght=0.1,code=3)
devrait faire ce que tu attends.

Serge

Edit : pour supprimer les moustaches, il faut ajouter les paramètres : whisklty = 0, staplelty = 0 dans le boxplot


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Google [Bot] et 1 invité