diff --git a/TP6/Exercice1.R b/TP6/Exercice1.R index 8594ca3..afd84af 100644 --- a/TP6/Exercice1.R +++ b/TP6/Exercice1.R @@ -1,3 +1,5 @@ +# https://github.com/BreizhHardware/TD-R/tree/main/TP6 + # Données observées observed <- c(B = 84, J = 79, R = 75, O = 49, V = 36, D = 47) total <- sum(observed) diff --git a/TP6/Exercice2.R b/TP6/Exercice2.R new file mode 100644 index 0000000..379a5a7 --- /dev/null +++ b/TP6/Exercice2.R @@ -0,0 +1,75 @@ +# https://github.com/BreizhHardware/TD-R/tree/main/TP6 + +# Données du problème +mois <- 1:12 +admissions <- c(18, 16, 8, 10, 6, 4, 4, 9, 11, 10, 12, 12) +n_total <- sum(admissions) + +# Test d'ajustement du chi-deux +# H0: Distribution uniforme (entrées réparties au hasard) +# H1: Distribution non uniforme (certains mois plus propices) + +# Valeurs attendues sous H0 (distribution uniforme) +attendues <- rep(n_total / 12, 12) # 10 admissions par mois + +# Niveau de risque +alpha <- 0.01 + +# Calcul du chi-deux +chi_2 <- sum((admissions - attendues)^2 / attendues) + +# Degrés de liberté +df <- 12 - 1 + +# Valeur critique +val_critique <- qchisq(1 - alpha, df) + +# p-value +p_value <- pchisq(chi_2, df, lower.tail = FALSE) + +# Affichage des résultats +cat("Analyse de la répartition des entrées à l'hôpital par mois\n") +cat("--------------------------------------------------------\n") +cat(sprintf("Nombre total d'admissions: %d\n", n_total)) +cat(sprintf("Statistique du chi-deux calculée: %.4f\n", chi_2)) +cat(sprintf("Degrés de liberté: %d\n", df)) +cat(sprintf("Valeur critique (α = %.2f): %.4f\n", alpha, val_critique)) +cat(sprintf("p-value: %.4f\n", p_value)) + +# Conclusion +cat("\nConclusion:\n") +if (chi_2 > val_critique) { + cat(sprintf("Comme χ² = %.4f > %.4f et p-value = %.4f < %.2f, nous rejetons H0.\n", + chi_2, val_critique, p_value, alpha)) + cat("On peut affirmer, avec un risque de 1%, que les entrées ne se font pas au hasard dans l'année.\n") +} else { + cat(sprintf("Comme χ² = %.4f < %.4f et p-value = %.4f > %.2f, nous ne pouvons pas rejeter H0.\n", + chi_2, val_critique, p_value, alpha)) + cat("On ne peut pas affirmer, avec un risque de 1%, que certains mois sont plus propices à la maladie.\n") +} + +# Vérification avec la fonction intégrée +chi_test <- chisq.test(admissions, p = rep(1/12, 12)) +cat("\nRésultat avec la fonction intégrée chisq.test():\n") +print(chi_test) + +# Représentation graphique +barplot(admissions, names.arg = mois, + col = "lightblue", + main = "Répartition des entrées à l'hôpital par mois", + xlab = "Mois", + ylab = "Nombre d'entrées") + +# Ajouter une ligne horizontale pour la valeur attendue +abline(h = n_total / 12, col = "red", lwd = 2) +legend("topright", legend = "Valeur attendue (distribution uniforme)", + col = "red", lwd = 2) + +# Afficher les contributions au chi-deux par mois +cat("\nComparaison des effectifs observés et attendus par mois:\n") +cat("Mois | Observés | Attendus | Ecart (%)\n") +cat("---------------------------------\n") +for(i in 1:12) { + ecart <- sqrt(((admissions[i] - attendues[i])^2 / attendues[i]) * 100) + cat(sprintf("%4d | %8d | %8.1f | %8.4f\n", i, admissions[i], attendues[i], ecart)) +} \ No newline at end of file