Begin'R
Les statistiques avec R
Navigation
[Retour au sommaire]
# Un exemple d'étude descriptive :Objectifs Obtenir des résumés paramétriques et graphiques de variables quantitatives et qualitatives. Découvrir la fonction `tapply`. Les exemples de la suite sont tirés du [jeu de données Melons](caps_2_1_presentation_donnees_melons.html). ## La fonction `tapply()` Pour calculer une statistique pour chaque niveau d'une variable qualitative comme par exemple la moyenne du poids des melons par variété de melons, l'emploi de **`tapply()`** est pertinent. [ En savoir plus sur cette fonction ](#tapply2) :Aide{#tapply2, toggle=popup} La fonction `tapply()` a au minimum pour argument 1. la variable à laquelle on s'intéresse 2. la variable qualitatitive qui regroupe le niveau des facteurs 3. la fonction R qui retourne la fonction désirée (par exemple, mean, max, summary, quantile, ...). :Exemple{#desmelons} Le poids moyen des melons par variété s'obtient avec ```r tapply(melons$Poids, melons$Variete, mean) ``` ``` ## Anasta Bastille Cezanne Escrito Fidji Heliobel Hugo Indola ## 1063.5000 947.8333 894.4400 1013.4286 985.5000 924.0000 1083.0000 1046.8333 ## Manta Mehari Metis Theo ## 866.6000 1023.5714 979.0000 969.8571 ``` :Exercice : 1. Extraire les apports d'azote (variable `N` du jeu de données `Melons`) en supprimant les valeurs manquantes. :Corrigé{#answer_exercise_manquantes, toggle=collapse, title-display=show} ```r melons$N ``` ``` ## [1] 72 72 140 140 140 181 181 181 181 181 170 170 170 170 170 168 168 170 ## [19] 97 97 97 60 60 60 60 60 158 158 NA NA NA NA 88 88 72 72 ## [37] 72 NA NA NA NA NA NA NA NA NA NA NA NA 96 86 77 174 93 ## [55] 130 77 72 117 117 117 90 77 120 72 117 90 27 27 27 77 174 93 ## [73] 130 77 72 117 117 117 77 108 63 120 123 72 72 117 117 96 96 130 ## [91] 120 123 72 117 96 93 63 130 77 117 117 130 120 72 447 90 93 63 ## [109] 130 77 72 117 117 77 120 72 117 117 117 90 120 123 72 72 117 117 ## [127] 90 96 96 120 123 72 117 117 96 ``` ```r azote = na.omit(melons$N) azote ``` ``` ## [1] 72 72 140 140 140 181 181 181 181 181 170 170 170 170 170 168 168 170 ## [19] 97 97 97 60 60 60 60 60 158 158 88 88 72 72 72 96 86 77 ## [37] 174 93 130 77 72 117 117 117 90 77 120 72 117 90 27 27 27 77 ## [55] 174 93 130 77 72 117 117 117 77 108 63 120 123 72 72 117 117 96 ## [73] 96 130 120 123 72 117 96 93 63 130 77 117 117 130 120 72 447 90 ## [91] 93 63 130 77 72 117 117 77 120 72 117 117 117 90 120 123 72 72 ## [109] 117 117 90 96 96 120 123 72 117 117 96 ## attr(,"na.action") ## [1] 29 30 31 32 38 39 40 41 42 43 44 45 46 47 48 49 ## attr(,"class") ## [1] "omit" ``` 2. Tracer un histogramme et un boxplot pour la variable "apport d'azote" (variable `N`). :Corrigé{#answer_exercise_graphes, toggle=collapse, title-display=show} ```r hist(azote, col=terrain.colors(10), main = "Représentation de l'apport d'azote des melons", xlim=c(0,500)) ```  ```r boxplot(azote, col='darkgreen', main="Représentation de l'apport d'azote des melons") ```  3. Déterminer les deux principaux paramètres de tendance centrale pour la variable "apport d'azote". :Aide {#aide_tendance_centrale, toggle=collapse} Les deux principaux paramètres de tendance centrale sont la moyenne et la médiane. :Corrigé{#answer_exercise_tendance_centrale, toggle=collapse, title-display=show} ```r mean(azote, na.rm = TRUE) ``` ``` ## [1] 109.2689 ``` ```r median(azote, na.rm = TRUE) ``` ``` ## [1] 108 ``` 4. Déterminer le minimum, le maximum et la médiane de la variable "apport d'azote" à l'aide de fonctions dédiées et en utilisant la fonction `quantile()`. :Corrigé{#answer_exercise_quantiles, toggle=collapse, title-display=show} ```r range(azote) ``` ``` ## [1] 27 447 ``` ```r # ou min(azote) ``` ``` ## [1] 27 ``` ```r max(azote) ``` ``` ## [1] 447 ``` ```r # Détermination de la médiane median(azote) ``` ``` ## [1] 108 ``` ```r quantile(azote, probs = c(0, 0.5, 1), na.rm = TRUE) ``` ``` ## 0% 50% 100% ## 27 108 447 ``` 5. Déterminer l'étendue, l'écart inter-quartiles et l'écart-type de la variable "apport d'azote". :Corrigé{#answer_exercise_dispersion, toggle=collapse, title-display=show} ```r etendue = max(azote) - min(azote) etendue ``` ``` ## [1] 420 ``` ```r mean(azote) ``` ``` ## [1] 109.2689 ``` ```r Q3 = quantile(azote, probs=0.75, names=FALSE) Q1 = quantile(azote, probs=0.25, names=FALSE) Ecart_inter_quartiles = Q3-Q1 Ecart_inter_quartiles ``` ``` ## [1] 46 ``` ```r SCE = sum((azote-mean(azote))^2) n = length(azote) ecart_type = sqrt(SCE/n) ecart_type ``` ``` ## [1] 47.46245 ``` ```r # ou sqrt((n-1)/n)*sd(azote) ``` ``` ## [1] 47.46245 ``` 6. Déterminer le minimum et le maximum de la variable "apport d'azote" pour chaque variété de melons. :Corrigé{#answer_exercise_tapply, toggle=collapse, title-display=show} ```r tapply(melons$N, melons$Variete, range, na.rm=TRUE) ``` ``` ## $Anasta ## [1] 60 447 ## ## $Bastille ## [1] 72 123 ## ## $Cezanne ## [1] 72 174 ## ## $Escrito ## [1] 60 181 ## ## $Fidji ## [1] 60 140 ## ## $Heliobel ## [1] 60 60 ## ## $Hugo ## [1] 60 181 ## ## $Indola ## [1] 72 130 ## ## $Manta ## [1] 27 174 ## ## $Mehari ## [1] 63 130 ## ## $Metis ## [1] 72 181 ## ## $Theo ## [1] 72 181 ``` :Suite Statistiques descriptives univariées {#univ, toggle=collapse, title-display=hidden} [Description des variables](caps_uni_1_descriptif.html) [Description de variables qualitatives](caps_uni_quali_1.html) [Représentation de variables qualitatives](caps_uni_quali_2.html) [Description paramètrique de variables quantitatives](caps_uni_3_quanti_1.html)