Une question facile pour bon nombre d'entre vous mais que je n'arrive pas à résoudre malgré de nombreuses recherches sur internet. Je me tourne encore une fois vers vous. J'aimerais simplement afficher le nombre de données incluses pour chaque boxplot produit au sein d'une double boucle for.
Ci-dessous le jeu de donnée
Code : Tout sélectionner
m1<-structure(list(Catégorie.de.l.animal = c("Poissons", "Poissons",
"Poissons", "Poissons", "Poissons", "Poissons", "Poissons", "Poissons",
"Poissons", "Poissons", "Poissons", "Poissons", "Poissons", "Poissons",
"Poissons", "Poissons", "Poissons", "Poissons", "Poissons", "Poissons",
"Poissons", "Poissons", "Poissons", "Poissons", "Poissons", "Poissons",
"Poissons", "Poissons", "Poissons", "Poissons", "Poissons", "Poissons",
"Poissons", "Poissons", "Poissons", "Poissons", "Poissons", "Poissons",
"Poissons", "Poissons", "Poissons", "Poissons", "Poissons", "Poissons",
"Poissons", "Poissons", "Poissons", "Poissons", "Poissons", "Poissons"
), Sous.catégorie.de.l.animal = c("Poissons d'eau douce (lac, rivière pisciculture)",
"Poissons d'eau douce (lac, rivière pisciculture)", "Poissons d'eau douce (lac, rivière pisciculture)",
"Poissons d'eau douce (lac, rivière pisciculture)", "Poissons d'eau douce (lac, rivière pisciculture)",
"Poissons d'eau douce (lac, rivière pisciculture)", "Poissons d'eau douce (lac, rivière pisciculture)",
"Poissons d'eau douce (lac, rivière pisciculture)", "Poissons d'eau douce (lac, rivière pisciculture)",
"Poissons d'eau douce (lac, rivière pisciculture)", "Poissons d'eau douce (lac, rivière pisciculture)",
"Poissons d'eau douce (lac, rivière pisciculture)", "Poissons d'eau douce (lac, rivière pisciculture)",
"Poissons d'eau douce (lac, rivière pisciculture)", "Poissons d'eau douce (lac, rivière pisciculture)",
"Poissons d'eau douce (lac, rivière pisciculture)", "Poissons d'eau douce (lac, rivière pisciculture)",
"Poissons d'eau douce (lac, rivière pisciculture)", "Poissons d'eau douce (lac, rivière pisciculture)",
"Poissons d'eau douce (lac, rivière pisciculture)", "Poissons d'eau douce (lac, rivière pisciculture)",
"Poissons d'eau douce (lac, rivière pisciculture)", "Poissons d'eau douce (lac, rivière pisciculture)",
"Poissons d'eau douce (lac, rivière pisciculture)", "Poissons d'eau douce (lac, rivière pisciculture)",
"Poissons d'eau douce (lac, rivière pisciculture)", "Poissons d'eau douce (lac, rivière pisciculture)",
"Poissons d'eau douce (lac, rivière pisciculture)", "Poissons d'eau douce (lac, rivière pisciculture)",
"Poissons d'eau douce (lac, rivière pisciculture)", "Poissons d'eau douce (lac, rivière pisciculture)",
"Poissons d'eau douce (lac, rivière pisciculture)", "Poissons d'eau douce (lac, rivière pisciculture)",
"Poissons d'eau douce (lac, rivière pisciculture)", "Poissons d'eau douce (lac, rivière pisciculture)",
"Poissons d'eau douce (lac, rivière pisciculture)", "Poissons d'eau douce (lac, rivière pisciculture)",
"Poissons d'eau douce (lac, rivière pisciculture)", "Poissons d'eau douce (lac, rivière pisciculture)",
"Poissons d'eau douce (lac, rivière pisciculture)", "Poissons d'eau douce (lac, rivière pisciculture)",
"Poissons d'eau douce (lac, rivière pisciculture)", "Poissons d'eau douce (lac, rivière pisciculture)",
"Poissons d'eau douce (lac, rivière pisciculture)", "Poissons d'eau douce (lac, rivière pisciculture)",
"Poissons d'eau douce (lac, rivière pisciculture)", "Poissons d'eau douce (lac, rivière pisciculture)",
"Poissons d'eau douce (lac, rivière pisciculture)", "Poissons d'eau douce (lac, rivière pisciculture)",
"Poissons d'eau douce (lac, rivière pisciculture)"), Groupe.de.l.animal = c("Poissons d'eau douce du lac",
"Poissons d'eau douce du lac", "Poissons d'eau douce du lac",
"Poissons d'eau douce du lac", "Poissons d'eau douce du lac",
"Poissons d'eau douce du lac", "Poissons d'eau douce du lac",
"Poissons d'eau douce du lac", "Poissons d'eau douce du lac",
"Poisson d'eau douce - pisciculture", "Poissons d'eau douce du lac",
"Poissons d'eau douce du lac", "Poissons d'eau douce du lac",
"Poissons d'eau douce du lac", "Poissons d'eau douce du lac",
"Poissons d'eau douce du lac", "Poissons d'eau douce du lac",
"Poissons d'eau douce du lac", "Poissons d'eau douce du lac",
"Poissons d'eau douce - pêchés localement", "Poissons d'eau douce du lac",
"Poissons d'eau douce du lac", "Poissons d'eau douce du lac",
"Poissons d'eau douce du lac", "Poissons d'eau douce du lac",
"Poissons d'eau douce du lac", "Poissons d'eau douce du lac",
"Poissons d'eau douce du lac", "Poissons d'eau douce du lac",
"Poissons d'eau douce - pêchés localement", "Poissons d'eau douce du lac",
"Poissons d'eau douce du lac", "Poissons d'eau douce du lac",
"Poissons d'eau douce du lac", "Poissons d'eau douce du lac",
"Poissons d'eau douce - pêchés localement", "Poissons d'eau douce - pêchés localement",
"Poissons d'eau douce du lac", "Poissons d'eau douce du lac",
"Poissons d'eau douce du lac", "Poissons d'eau douce du lac",
"Poissons d'eau douce du lac", "Poissons d'eau douce du lac",
"Poissons d'eau douce du lac", "Poissons d'eau douce - pêchés localement",
"Poissons d'eau douce du lac", "Poissons d'eau douce du lac",
"Poissons d'eau douce du lac", "Poisson d'eau douce - pisciculture",
"Poissons d'eau douce du lac"), Espèce = c("Capitaine - petit",
"Bib-bic", "Tilapia/Makoke - petit", "Capitaine - petit", "Tilapia/Makoke - petit",
"Capitaine - gros", "Munama", "Capitaine - gros", "Nzombo de lac",
"Poissons d'élevage inconnus - petit", "Tematema", "Capitaine - petit",
"Capitaine - petit", "Tilapia/Makoke - petit", "Miziri", "Bib-bic",
"Tematema", "Tilapia/Makoke - gros", "Nzombo de lac", "Poisson pêché inconnu - petit",
"Fodofodo", "Miziri", "Capitaine - petit", "Munama", "Capitaine - petit",
"Capitaine - petit", "Miziri", "Capitaine - gros", "Capitaine - petit",
"Poisson pêché inconnu - moyen", "Capitaine - petit", "Bib-bic",
"Miziri", "Ndakala", "Capitaine - petit", "Poisson pêché inconnu - petit",
"Poisson pêché inconnu - petit", "Bib-bic", "Munama", "Tilapia/Makoke - petit",
"Fodofodo", "Tilapia/Makoke - gros", "Capitaine - gros", "Tilapia/Makoke - petit",
"Poisson pêché inconnu - moyen", "Boloi", "Tilapia/Makoke - petit",
"Bib-bic", "Poissons d'élevage inconnus - moyen", "Tilapia/Makoke - petit"
), conservation = c("Salé", "Salé", "Salé", "Salé", "Congelé",
"Salé", "Salé", "Salé", "Salé", "Salé", "Salé", "Salé",
"Fumé", "Congelé", "Salé", "Salé", "Salé", "Congelé", "Fumé",
"Fumé", "Cuisiné", "Salé", "Congelé", "Salé", "Salé", "Fumé",
"Salé", "Salé", "Salé", "Cuisiné", "Salé", "Salé", "Salé",
"Salé", "Salé", "Frais", "Fumé", "Salé", "Salé", "Salé",
"Salé", "Congelé", "Salé", "Congelé", "Frais", "Salé", "Salé",
"Salé", "Fumé", "Congelé"), Unité = c("Morceau / Pièce",
"Morceau / Pièce", "Morceau / Pièce", "Morceau / Pièce", "Morceau / Pièce",
"Morceau / Pièce", "Kilo", "Morceau / Pièce", "Quartier", "Pile / tas",
"Moitié", "Pile / tas", "Morceau / Pièce", "Kilo", "Kilo",
"Pile / tas", "Kilo", "Morceau / Pièce", "Morceau / Pièce",
"Pile / tas", "Morceau / Pièce", "Pile / tas", "Kilo", "Morceau / Pièce",
"Morceau / Pièce", "Morceau / Pièce", "Kilo", "Kilo", "Morceau / Pièce",
"Plat", "Morceau / Pièce", "Morceau / Pièce", "Pile / tas",
"Pile / tas", "Moitié", "Morceau / Pièce", "Pile / tas", "Kilo",
"Entier", "Morceau / Pièce", "Morceau / Pièce", "Morceau / Pièce",
"Morceau / Pièce", "Moitié", "Pile / tas", "Kilo", "Morceau / Pièce",
"Pile / tas", "Pile / tas", "Kilo"), Prix.d.une.unité = c(500L,
400L, 2500L, 2000L, 2000L, 3000L, 13000L, 5000L, 4000L, 25000L,
7000L, 1500L, 3000L, 12000L, 8000L, 1000L, 12000L, 17000L, 15000L,
6000L, 1500L, 1000L, 14000L, 2500L, 2000L, 2000L, 9000L, 14000L,
1000L, 5000L, 2000L, 500L, 500L, 1000L, 7500L, 2000L, 3000L,
18000L, 4000L, 3000L, 3000L, 12000L, 2000L, 6500L, 6000L, 10000L,
2000L, 1000L, 13000L, 13000L)), row.names = c(3211L, 3218L, 2746L,
1898L, 1705L, 1555L, 2290L, 1159L, 2301L, 3695L, 2085L, 3148L,
2163L, 2879L, 2197L, 3917L, 3016L, 1986L, 2233L, 172L, 3277L,
1656L, 2822L, 2443L, 1624L, 1505L, 1535L, 3841L, 3079L, 1070L,
3096L, 4L, 1138L, 199L, 1204L, 408L, 1062L, 3646L, 3568L, 2102L,
2967L, 2936L, 1553L, 2938L, 3322L, 2307L, 1340L, 3647L, 3387L,
2392L), class = "data.frame")
Ci-dessous mon script de création de plot, j'ai mis des ??? au sein de la fonction geom_text à utiliser pour ce type de besoins.
L'idéal serait qu'ils puissent s'afficher au-dessus de chaque boxplot, ou centre mais il se peut que la visibilité soit mauvaise.
Code : Tout sélectionner
for (i in unique(m1$Catégorie.de.l.animal)) {
ss<-subset(m1,m1$Catégorie.de.l.animal %in% i)
for (y in unique(ss$Sous.catégorie.de.l.animal)) {
so<-subset(ss,ss$Sous.catégorie.de.l.animal %in% y)
# rr<-data.frame(table(so$Unité))
o<-ggplot(so, aes(x=Unité,y=Prix.d.une.unité, fill=Unité, color=Unité)) +
geom_boxplot(alpha=0.5)+
geom_text(???)+
xlab(label = "Unités") +
ylab(label = "Prix de la viande par unité") +
theme(axis.text.x = element_text(angle=30, hjust=1, vjust=1))+
theme(legend.position="none")+
ggtitle(paste(i, "et", y))
x11()
print(o)
}
}
Merci beaucoup!
Samuel