Informe 3
# Paso a: Crear la población
set.seed(123) # Para reproducibilidad
n_lote <- 1000
proporcion_enfermos <- 0.5
poblacion <- rbinom(n_lote, size = 1, prob = proporcion_enfermos)
# Paso b: Función para obtener una muestra aleatoria y calcular pĖ
obtener_p_hat <- function(n, poblacion) {
muestra <- sample(poblacion, n)
p_hat <- mean(muestra)
return(p_hat)
}
# Paso c: Simulación para n=500 repeticiones
n_simulaciones <- 500
simulaciones_p_hat <- replicate(n_simulaciones, obtener_p_hat(n=500, poblacion))
# Analizar simetrĆa y sesgo
media_p_hat <- mean(simulaciones_p_hat)
sesgo <- media_p_hat - proporcion_enfermos
varianza_p_hat <- var(simulaciones_p_hat)
# Paso d: Repetir para diferentes tamaƱos de muestra
tamanos_muestra <- c(5, 10, 15, 20, 30, 50, 60, 100, 200, 500)
resultados_normalidad <- data.frame()
for (n in tamanos_muestra) {
p_hats <- replicate(n_simulaciones, obtener_p_hat(n, poblacion))
# Realizar prueba de Shapiro-Wilks
shapiro_test <- shapiro.test(p_hats)
# QQ plot para la normalidad
qqnorm(p_hats)
qqline(p_hats)
# Agregar resultados al dataframe
resultados_normalidad <- rbind(resultados_normalidad,
data.frame(TamanoMuestra = n,
W = shapiro_test$statistic,
p_valor = shapiro_test$p.value))
}










# Mostrar los resultados
print(resultados_normalidad)
## TamanoMuestra W p_valor
## W 5 0.9225013 2.281457e-15
## W1 10 0.9656453 2.016526e-09
## W2 15 0.9721437 3.749451e-08
## W3 20 0.9783762 9.212015e-07
## W4 30 0.9845180 3.641971e-05
## W5 50 0.9894872 1.197385e-03
## W6 60 0.9903906 2.398620e-03
## W7 100 0.9936826 3.498757e-02
## W8 200 0.9926833 1.518970e-02
## W9 500 0.9961692 2.710524e-01
# Paso e: Repetir la simulación para 10% y 90% de plantas enfermas
porcentajes <- c(0.1, 0.9)
resultados_conclusiones <- data.frame()
for (prop in porcentajes) {
poblacion <- rbinom(n_lote, size = 1, prob = prop)
for (n in tamanos_muestra) {
p_hats <- replicate(n_simulaciones, obtener_p_hat(n, poblacion))
shapiro_test <- shapiro.test(p_hats)
resultados_conclusiones <- rbind(resultados_conclusiones,
data.frame(ProporcionEnfermos = prop,
TamanoMuestra = n,
W = shapiro_test$statistic,
p_valor = shapiro_test$p.value))
}
}
# Mostrar las conclusiones finales
print(resultados_conclusiones)
## ProporcionEnfermos TamanoMuestra W p_valor
## W 0.1 5 0.7101828 1.728124e-28
## W1 0.1 10 0.8553815 4.907762e-21
## W2 0.1 15 0.9034452 2.957901e-17
## W3 0.1 20 0.9304766 1.763349e-14
## W4 0.1 30 0.9462117 1.695189e-12
## W5 0.1 50 0.9715438 2.817553e-08
## W6 0.1 60 0.9797045 1.941056e-06
## W7 0.1 100 0.9861711 1.097801e-04
## W8 0.1 200 0.9895094 1.217756e-03
## W9 0.1 500 0.9939281 4.300683e-02
## W10 0.9 5 0.6888686 2.564893e-29
## W11 0.9 10 0.8191545 2.661509e-23
## W12 0.9 15 0.8850612 7.758906e-19
## W13 0.9 20 0.9107077 1.431963e-16
## W14 0.9 30 0.9405683 3.002970e-13
## W15 0.9 50 0.9728961 5.392731e-08
## W16 0.9 60 0.9764939 3.337016e-07
## W17 0.9 100 0.9851983 5.697336e-05
## W18 0.9 200 0.9920530 9.045486e-03
## W19 0.9 500 0.9938599 4.060956e-02