mirror of
https://github.com/BreizhHardware/TD-R.git
synced 2026-03-18 21:40:38 +01:00
feat: add histogram and confidence interval visualizations for weights and perform chi-squared test
This commit is contained in:
@@ -15,7 +15,7 @@ n <- length(poids)
|
||||
k <- sqrt(n)
|
||||
|
||||
# Création de l'histogramme avec courbe de densité
|
||||
hist(poids,
|
||||
histoooo <- hist(poids,
|
||||
probability = TRUE,
|
||||
main = "Histogramme des poids des cocons",
|
||||
xlab = "Poids (g)",
|
||||
@@ -74,7 +74,7 @@ curve(dnorm(x, mean = moyenne, sd = ecart_type),
|
||||
|
||||
# Ajout d'une légende
|
||||
legend("topright",
|
||||
legend = c("Densité normale estimée"),
|
||||
legend = "Densité normale estimée",
|
||||
col = "red",
|
||||
lwd = 2)
|
||||
|
||||
@@ -101,6 +101,40 @@ cat("Intervalle de confiance à 95% pour la variance (σ²): [",
|
||||
round(borne_inf_variance, 6), ",",
|
||||
round(borne_sup_variance, 6), "] g²\n")
|
||||
|
||||
# Affichage de l'histogramme des poids avec la courbe de densité estimée et les intervalles de confiance
|
||||
|
||||
scale_factor = max(histoooo$counts) / max(dnorm(seq(min(poids), max(poids), length.out=1), mean=mean(poids), sd=sd(poids)))
|
||||
|
||||
hist(poids,
|
||||
main = "Histogramme des poids des cocons",
|
||||
xlab = "Poids (g)",
|
||||
ylab = "Densité",
|
||||
col = "lightblue",
|
||||
ylim = c(0, max(histoooo$counts) * scale_factor),
|
||||
breaks = k)
|
||||
|
||||
# Colorer l'intervalle de confiance
|
||||
x_vals <- seq(borne_inf_moyenne, borne_sup_moyenne, length.out = 100)
|
||||
y_vals <- dnorm(x_vals, mean = moyenne, sd = ecart_type)
|
||||
polygon(c(borne_inf_moyenne, x_vals, borne_sup_moyenne),
|
||||
c(0, y_vals, 0),
|
||||
col = rgb(0, 0, 1, 0.2),
|
||||
border = NA)
|
||||
|
||||
lines(density(poids), col="green", lwd=2)
|
||||
|
||||
# Ajout de la courbe de densité normale
|
||||
curve(scale_factor * dnorm(x, mean=mean(poids), sd=sd(poids)),
|
||||
add=TRUE,
|
||||
col="red",
|
||||
lwd=2)
|
||||
|
||||
# Ajout des intervalles de confiance pour la moyenne
|
||||
abline(v = c(borne_inf_moyenne, borne_sup_moyenne),
|
||||
col = "blue",
|
||||
lty = 2)
|
||||
|
||||
|
||||
# Calcul des intervalles de confiance à 90%
|
||||
alpha <- 0.10
|
||||
z <- qnorm(1 - alpha / 2)
|
||||
@@ -121,3 +155,38 @@ cat("\nIntervalle de confiance à 90% pour la moyenne (μ): [",
|
||||
cat("Intervalle de confiance à 90% pour la variance (σ²): [",
|
||||
round(borne_inf_variance, 6), ",",
|
||||
round(borne_sup_variance, 6), "] g²\n")
|
||||
|
||||
# Ajout des intervalles de confiance pour la moyenne
|
||||
abline(v = c(borne_inf_moyenne, borne_sup_moyenne),
|
||||
col = "purple",
|
||||
lty = 2)
|
||||
|
||||
# Colorer l'intervalle de confiance
|
||||
x_vals <- seq(borne_inf_moyenne, borne_sup_moyenne, length.out = 100)
|
||||
y_vals <- dnorm(x_vals, mean = moyenne, sd = ecart_type)
|
||||
polygon(c(borne_inf_moyenne, x_vals, borne_sup_moyenne),
|
||||
c(0, y_vals, 0),
|
||||
col = rgb(1, 0, 1, 0.2),
|
||||
border = NA)
|
||||
|
||||
# Ajout d'une légende
|
||||
legend("topright",
|
||||
legend = c("Densité estimée", "Densité normale estimée", "Intervalle de confiance à 95%", "Intervalle de confiance à 90%"),
|
||||
col = c("green", "red", "blue", "purple"),
|
||||
lty = c(1, 1, 2, 2),
|
||||
lwd = c(2, 2, 1, 1))
|
||||
|
||||
# Crée un histogramme des poids et récupère les classes
|
||||
hist_obj <- hist(poids, plot = FALSE, breaks = k)
|
||||
observed_counts <- hist_obj$counts
|
||||
breaks <- hist_obj$breaks
|
||||
mids <- hist_obj$mids
|
||||
|
||||
# Calcul des probabilités attendues
|
||||
total_count <- sum(observed_counts)
|
||||
expected_probs <- diff(pnorm(breaks, mean = moyenne, sd = ecart_type))
|
||||
expected_counts <- total_count * expected_probs
|
||||
|
||||
# Perform chi-squared test
|
||||
chitest <- chisq.test(observed_counts, p = expected_probs, rescale.p = TRUE)
|
||||
print(chitest)
|
||||
@@ -92,16 +92,10 @@ if ((proba1 < s1 || proba1 > i1) ||
|
||||
cat("Le dé n'est pas truqué\n")
|
||||
}
|
||||
|
||||
# Visualisation graphique
|
||||
curve(dnorm(x, mean = moyenne, sd = ecart_type),
|
||||
from = 0,
|
||||
to = 7,
|
||||
main = "Distribution des valeurs du dé",
|
||||
xlab = "Valeur du dé",
|
||||
ylab = "Densité")
|
||||
# Correction
|
||||
|
||||
# Zone de probabilité avec transparence
|
||||
x_values <- seq(0, 6, length.out = 100)
|
||||
polygon(c(x_values, 1),
|
||||
c(dnorm(x_values, moyenne, ecart_type), 0),
|
||||
col = rgb(1, 0, 0, 0.5))
|
||||
x <- (88-100) ^ 2 + (109-100) ^ 2 + (107-100) ^ 2 + (94-100) ^ 2 + (105-100) ^ 2 + (97-100) ^ 2
|
||||
xprim <- x / 100
|
||||
|
||||
xsq <- chisq.test(c(88, 109, 107, 94, 105, 97), p = c(1/6, 1/6, 1/6, 1/6, 1/6, 1/6))
|
||||
print(xsq)
|
||||
Reference in New Issue
Block a user