Bonjour,

Je souhaite afficher des valeurs sur mon boxplot mais je ne comprend pas pourquoi le résultat du calcul est faux :

Mon dataframe "DFacte" comporte :
-une colonne "Num_etablissement" qui est le numéro d'un établissement : 1;2;3;4;...
-une colonne "Type_etablissement" qui est une variable catégorielle : "CHU"; "CH"; "Privé"...
-une colonne "PDS" qui est une variable numérique continue

Ce qui donne ça par exemple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
Num_etablissement <- rep ( c(1,2,3),3)
Type_etablissement <- rep ( c("CH","CHU","CH"),3)
PDS <-rnorm(9, mean=5, sd= 1.2)
 
DFacte <- data.frame(Num_etablissement,Type_etablissement,PDS)
Je défini ma fonction qui permet d'inscrire le nombre de valeurs utilisé sous chaque boxplot (cette fonction fonctionne parfaitement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
n_fun <- function(x)  {
    return(data.frame (y=-5, label=paste0("n=",length(x)))) }
Je défini ma deuxième fonction qui doit me permettre d'écrire le nombre d'établissement différent utilisé sous chaque boxplot (c'est là que ça ne marche pas, ça me donne 0 pour tous les résultats - je ne vois pas où est mon erreur) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
n_fun2 <- function(x)  {
    return(data.frame (y=-10, label=paste0("centres=", length(unique(DFacte$Num_etablissement[DFacte$Type_etablissement=="x"] )) ))) }
Je créé mon boxplot :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
ggplot(DFacte)  +
aes(x=Type_etablissement,y=PDS)+
geom_boxplot(alpha=0.7)+
stat_summary(fun.data=n_fun, geom="text")+
stat_summary(fun.data=n_fun2, geom="text")
qui me donne centres = 0 pour mes 2 boxplot au lieu de centres=2 pour le CH et centres=1 pour le CHU:

Nom : Capture.PNG
Affichages : 1693
Taille : 9,6 Ko