From b1eb4c947560538c77cacebb20d29bcac37846fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20MARQUET?= Date: Fri, 28 Feb 2025 11:46:04 +0100 Subject: [PATCH] feat: add statistical analysis and visualization for component lifetimes --- TP3/Exercice4.R | 9 +++-- TP3/Exercice5.R | 95 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 102 insertions(+), 2 deletions(-) create mode 100644 TP3/Exercice5.R diff --git a/TP3/Exercice4.R b/TP3/Exercice4.R index 7a9131a..17b5811 100644 --- a/TP3/Exercice4.R +++ b/TP3/Exercice4.R @@ -81,7 +81,12 @@ valeurs <- c(valeurs_1979, valeurs_2010) boxplot(valeurs ~ annees, main = "Evolution de la distribution des superficies", - xlab = "Année", + xlab = "Annee", ylab = "Superficie (ha)", col = c("lightblue", "lightgreen")) -grid() \ No newline at end of file +grid() + + + +# Réinitialiser la mise en page +par(mfrow = c(1, 1)) \ No newline at end of file diff --git a/TP3/Exercice5.R b/TP3/Exercice5.R new file mode 100644 index 0000000..e6e714a --- /dev/null +++ b/TP3/Exercice5.R @@ -0,0 +1,95 @@ +# Spécifier un miroir CRAN +options(repos = c(CRAN = "https://cran.rstudio.com/")) + +# Installer le package readxl +install.packages("readxl") + +# Charger le package readxl +library(readxl) + +# Spécifier le chemin vers votre fichier .xlsx +file_path <- "./TP3/tp3datas.xlsx" + +# Lire la feuille nommée "Exercice 1" +data <- read_excel(file_path, sheet = "Exercice 5", col_names = FALSE) + +data_matrix <- as.matrix(data) + +# 1. Quelles sont les populations observées ? +cat("Populations observées : Composant bleu, Composant jaune, Composant vert\n") + +# 2. Quel est le caractère statistique observé, sa nature ? + +cat("\nCaractère statistique : Durée de vie des composants, mesurée en temps\n") +cat("Nature : Quantitative continue (mesures de temps)\n") + +# 3. Calculer les moyennes et les écart-types corrigés du temps écoulé pour chaque +# composant + +# Extraire les données de chaque composant en supprimant les NA et le "(" +composant_bleu <- as.numeric(na.omit(data_matrix[1, -1][data_matrix[1, -1] != "("])) +composant_jaune <- as.numeric(na.omit(data_matrix[2, -1][data_matrix[2, -1] != "("])) +composant_vert <- as.numeric(na.omit(data_matrix[3, -1][data_matrix[3, -1] != "("])) + +# Calculer les moyennes +moy_bleu <- mean(composant_bleu) +moy_jaune <- mean(composant_jaune) +moy_vert <- mean(composant_vert) + +# Calculer les écart-types corrigés +sd_bleu <- sd(composant_bleu) +sd_jaune <- sd(composant_jaune) +sd_vert <- sd(composant_vert) + +# Afficher les résultats +cat("\nMoyennes :\n") +cat("Composant bleu :", round(moy_bleu, 2), "\n") +cat("Composant jaune :", round(moy_jaune, 2), "\n") +cat("Composant vert :", round(moy_vert, 2), "\n") + +cat("\nÉcart-types corrigés :\n") +cat("Composant bleu :", round(sd_bleu, 2), "\n") +cat("Composant jaune :", round(sd_jaune, 2), "\n") +cat("Composant vert :", round(sd_vert, 2), "\n") + +# 4. Tracer le diagramme des moyennes avec des barres d’erreurs d’un écart-type. + +# Créer les données pour le graphique +composants <- c("Bleu", "Jaune", "Vert") +moyennes <- c(moy_bleu, moy_jaune, moy_vert) +ecart_types <- c(sd_bleu, sd_jaune, sd_vert) + +# Créer le graphique de barres +barplot_result <- barplot(moyennes, + names.arg = composants, + ylim = c(0, max(moyennes + ecart_types) + 1), + main = "Moyennes des temps ecoules par composant", + xlab = "Composants", + ylab = "Temps ecoule", + col = c("lightblue", "yellow", "lightgreen")) + +# Ajouter les barres d'erreur +arrows(x0 = barplot_result, + y0 = moyennes - ecart_types, + x1 = barplot_result, + y1 = moyennes + ecart_types, + angle = 90, + code = 3, + length = 0.1) + +# Ajouter une grille +grid() + +# 5. Réaliser un box-plot comparatif des 3 composants. + +# Créer un boxplot comparatif +boxplot(list("Bleu" = composant_bleu, + "Jaune" = composant_jaune, + "Vert" = composant_vert), + main = "Distribution des temps ecoules par composant", + xlab = "Composants", + ylab = "Temps ecoule", + col = c("lightblue", "yellow", "lightgreen")) + +# Ajouter une grille +grid() \ No newline at end of file