Begin'R
Les statistiques avec R
Navigation
[Retour au sommaire]
# Paramètres spécifiques de la fonction `boxplot()` :Objectifs * Personnaliser un boxplot. :Remarque : Besoin de quelques rappels pour l'importation et la préparation du jeu de données ? {#rq_preparation_donnees_graphiques_de_base, toggle=collapse, title-display=show} Le jeu de données Melons est issu d'une étude réelle relative à un essai variétal sur des melons. Elle a pour objectif de repérer les facteurs influençant le calibre des melons. Les liens ci-dessous permettent de télécharger le fichier de données, de visionner une vidéo expliquant la description associée et d'obtenir les lignes de code pour importer le jeu de données sur R. | Jeu de données | Excel | CSV | Présentation | Commande R | Explication | |-----------------|--------|-------------|----------------|------------|-------------| | Donnees Melons | [](donnees/DonneesMelons.xlsx) | [](donnees/DonneesMelons.csv) | [](video/DonneesMelons.html) | [Lignes de code pour importer et préparer le jeu de données](#ligne_code_importation) | [Explications sur la préparation du jeu de données](#explication_preparation_importation) | :Exemple {#ligne_code_importation, toggle=popup} ```{rC5-0-A, echo=T, eval=F} Melons <- read.csv2("DonneesMelons.csv", header = TRUE, stringsAsFactors = TRUE) Melons <- transform(Melons, Creneau = as.ordered(Creneau), Couverture = as.factor(Couverture)) quatre_melons <- subset(Melons, Variete=='Cezanne'|Variete=='Fidji'|Variete=='Hugo'|Variete=='Manta') quatre_melons$Variete <- droplevels(quatre_melons$Variete) ``` :Exemple {#explication_preparation_importation, toggle=popup} Dans un premier temps, [importer le jeu de données melons sur R Studio](caps_2_3_importation_CSV.html). ```r Melons <- read.csv2("DonneesMelons.csv", header = TRUE, stringsAsFactors = TRUE) Melons <- transform(Melons, Creneau = as.ordered(Creneau), Couverture = as.factor(Couverture)) ``` Pour ne pas alourdir les tableaux et représentations à venir, seuls quatre variétés de melons sont considérés dans la suite : `Cezanne`, `Fidji`, `Hugo` et `Manta`. Pour cela, l'extraction peut être effectuée à l'aide de la fonction **`subset()`** : ```r quatre_melons <- subset(Melons, Variete=='Cezanne'|Variete=='Fidji'|Variete=='Hugo'|Variete=='Manta') levels(quatre_melons$Variete) ``` ``` ## [1] "Anasta" "Bastille" "Cezanne" "Escrito" "Fidji" "Heliobel" ## [7] "Hugo" "Indola" "Manta" "Mehari" "Metis" "Theo" ``` Après sélection des quatre variétés, le jeu de données garde la trace des anciennes variétés. La fonction **`droplevels()`** permet de **nettoyer** le jeu de données en éliminant les modalités non utilisées : ```r quatre_melons$Variete <- droplevels(quatre_melons$Variete) levels(quatre_melons$Variete) ``` ``` ## [1] "Cezanne" "Fidji" "Hugo" "Manta" ``` Désormais, les données sont accessibles via la variable `quatre_melons`, définie sur R comme un objet de type `data.frame`. La fonction `boxplot()` contient certains paramètres spécifiques comme par exemple : - `range` : étendue maximale des « moustaches » ou « pattes » par rapport à la taille de la boite (intervalle inter-quartiles) ; il est conseillé de la laisser à la valeur par défaut (1.5). - `varwidth` : paramètre indiquant si l'on souhaite que les boites aient une largeur variable, proportionnelle à l'effectif de chaque catégorie. - `boxwex` : largeur de l'ensemble des boites. - `staplewex` : largeur relative des « pattes » par rapport à la boite. - `horizontal` : pour afficher des boxplots horizontaux. - `names` : permet de modifier les libellés en abscisse. :Exemple {#ex_boxplot, toggle=collapse, title-display=show} L'exemple ci-dessous permet de tracer un boxplot en modifiant le titre, le nom des axes, la largeur variable des boites, la largeur maximale des boites, la largeur relative des pattes, la suppression des points aberrants (en dehors des pattes), la couleur des boites, l'étendue de l'axe vertical, les libellés en abscisses et la taille de police utilisée pour ces libellés. ```r boxplot(quatre_melons$Poids~quatre_melons$Creneau, main = "Poids des melons selon le créneau de plantation", xlab = "Créneau de plantation", ylab = "Poids (en grammes)", varwidth = TRUE, boxwex = 0.5, staplewex = 0.7, outpch = NA, col = terrain.colors(5), ylim = c(600, 1400), names = c("Précoce", "Semi-précoce", "Début de saison", "Tardif", "Très tardif"), cex.axis = 0.9 ) ```  Pour découvrir l'effet de chaque paramètre, on pourra les introduire un par un. :Remarque {#remarque_names} L'argument `names` n'est pas nécessaire si la variable qualitative `Creneau` est déjà codée avec les modalités devant être affichées sur le boxplot. ```r # Codage de la variable Creneau avec les modalités "Précoce", "Semi-précoce", ... quatre_melons <- transform(quatre_melons, Creneau = factor(Creneau, labels = c("Précoce", "Semi-précoce", "Début de saison", "Tardif", "Très tardif"))) # Affichage du boxplot boxplot(quatre_melons$Poids~quatre_melons$Creneau, main = "Poids des melons selon le créneau de plantation", xlab = "Créneau de plantation", ylab = "Poids (en grammes)", varwidth = TRUE, boxwex = 0.5, staplewex = 0.7, outpch = NA, col = terrain.colors(5), ylim = c(600, 1400), cex.axis = 0.9 ) ``` :Exercice : Personnaliser un boxplot {#exercise_boxplot, toggle=collapse, title-display=show} A partir du jeu de données `quatre_melons`, essayer d'obtenir le graphique suivant :  :Corrigé{#answer_boxplot, toggle=collapse, title-display=show} Il faut utiliser la fonction `boxplot()` en paramétrant les arguments `main`, `xlab`, `ylab`, `varwidth` et `col` : ```r boxplot(quatre_melons$Rdt~quatre_melons$Variete, main = "Rendement brut selon les variétés", xlab = "Variétés", ylab = "Rendement brut (tonnes par hectare)", varwidth = TRUE, col = rainbow(4) ) ``` :Suite de Tracer des graphiques {#graph, toggle=collapse, title-display=hidden} [Présentation des graphiques de base](caps_5_1_graphiques_de_base.html) [Réaliser plusieurs graphiques en un seul](caps_5_2_realiser_plusieurs_graphiques_en_un_seul.html) [Gestion des symboles, couleurs, titre et étiquettes](caps_5_3_gestion_symboles_couleurs_titre_etiquettes.html) [Paramètres spécifiques de la fonction "boxplot"](caps_5_4_parametres_specifiques_boxplot.html) [Exercice bilan](caps_5_5_exercice_bilan_personnalisation_graphiques.html)