# Cargar la librería necesaria
library(stats)
library(base)
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.2.3
set.seed(123)

#simulación y cálculo de pˆ
simular_proporcion <- function(poblacion, n, num_simulaciones) {
  estimaciones <- numeric(num_simulaciones)
  
  for (i in 1:num_simulaciones) {
    muestra <- sample(poblacion, size = n, replace = FALSE)
    prop_estimada <- mean(muestra)
    estimaciones[i] <- prop_estimada
  }
  
  return(estimaciones)
}

# Tamaños de muestra a evaluar
tamanos_muestra <- c(5, 10, 15, 20, 30, 50, 60, 100, 200, 500)

# Proporciones de individuos enfermos en la población
proporciones_enfermos <- c(0.1, 0.5, 0.9)

#tamaños de muestra y proporciones de enfermos
resultados <- list()

for (prop_enfermos in proporciones_enfermos) {
  poblacion <- rbinom(1000, size = 1, prob = prop_enfermos)
  
  for (n in tamanos_muestra) {
    simulaciones <- simular_proporcion(poblacion, n, num_simulaciones = 500)
    resultados[[paste("prop", prop_enfermos, "n", n)]] <- simulaciones
  }
}

# Realizar pruebas de normalidad
for (key in names(resultados)) {
  est <- resultados[[key]]
  shapiro_test <- shapiro.test(est)
  
cat("Resultados para:", key, "\n")
cat("Shapiro-Wilk Test p-value:", shapiro_test$p.value, "\n")


if (shapiro_test$p.value > 0.05) {
 cat("Los datos son aproximadamente normales.\n")
} else {
 cat("Los datos no son aproximadamente normales.\n")
}
  
}
## Resultados para: prop 0.1 n 5 
## Shapiro-Wilk Test p-value: 1.296402e-29 
## Los datos no son aproximadamente normales.
## Resultados para: prop 0.1 n 10 
## Shapiro-Wilk Test p-value: 6.926359e-24 
## Los datos no son aproximadamente normales.
## Resultados para: prop 0.1 n 15 
## Shapiro-Wilk Test p-value: 3.778667e-18 
## Los datos no son aproximadamente normales.
## Resultados para: prop 0.1 n 20 
## Shapiro-Wilk Test p-value: 2.048936e-16 
## Los datos no son aproximadamente normales.
## Resultados para: prop 0.1 n 30 
## Shapiro-Wilk Test p-value: 3.249148e-11 
## Los datos no son aproximadamente normales.
## Resultados para: prop 0.1 n 50 
## Shapiro-Wilk Test p-value: 2.307379e-09 
## Los datos no son aproximadamente normales.
## Resultados para: prop 0.1 n 60 
## Shapiro-Wilk Test p-value: 1.599034e-07 
## Los datos no son aproximadamente normales.
## Resultados para: prop 0.1 n 100 
## Shapiro-Wilk Test p-value: 0.0001187274 
## Los datos no son aproximadamente normales.
## Resultados para: prop 0.1 n 200 
## Shapiro-Wilk Test p-value: 0.003415887 
## Los datos no son aproximadamente normales.
## Resultados para: prop 0.1 n 500 
## Shapiro-Wilk Test p-value: 0.08313573 
## Los datos son aproximadamente normales.
## Resultados para: prop 0.5 n 5 
## Shapiro-Wilk Test p-value: 1.65745e-14 
## Los datos no son aproximadamente normales.
## Resultados para: prop 0.5 n 10 
## Shapiro-Wilk Test p-value: 3.169935e-10 
## Los datos no son aproximadamente normales.
## Resultados para: prop 0.5 n 15 
## Shapiro-Wilk Test p-value: 1.430112e-08 
## Los datos no son aproximadamente normales.
## Resultados para: prop 0.5 n 20 
## Shapiro-Wilk Test p-value: 7.881506e-06 
## Los datos no son aproximadamente normales.
## Resultados para: prop 0.5 n 30 
## Shapiro-Wilk Test p-value: 4.829998e-05 
## Los datos no son aproximadamente normales.
## Resultados para: prop 0.5 n 50 
## Shapiro-Wilk Test p-value: 0.002083099 
## Los datos no son aproximadamente normales.
## Resultados para: prop 0.5 n 60 
## Shapiro-Wilk Test p-value: 0.003940676 
## Los datos no son aproximadamente normales.
## Resultados para: prop 0.5 n 100 
## Shapiro-Wilk Test p-value: 0.02558638 
## Los datos no son aproximadamente normales.
## Resultados para: prop 0.5 n 200 
## Shapiro-Wilk Test p-value: 0.04321449 
## Los datos no son aproximadamente normales.
## Resultados para: prop 0.5 n 500 
## Shapiro-Wilk Test p-value: 0.1774848 
## Los datos son aproximadamente normales.
## Resultados para: prop 0.9 n 5 
## Shapiro-Wilk Test p-value: 2.020508e-29 
## Los datos no son aproximadamente normales.
## Resultados para: prop 0.9 n 10 
## Shapiro-Wilk Test p-value: 7.296123e-22 
## Los datos no son aproximadamente normales.
## Resultados para: prop 0.9 n 15 
## Shapiro-Wilk Test p-value: 1.924861e-17 
## Los datos no son aproximadamente normales.
## Resultados para: prop 0.9 n 20 
## Shapiro-Wilk Test p-value: 1.592948e-15 
## Los datos no son aproximadamente normales.
## Resultados para: prop 0.9 n 30 
## Shapiro-Wilk Test p-value: 6.430376e-12 
## Los datos no son aproximadamente normales.
## Resultados para: prop 0.9 n 50 
## Shapiro-Wilk Test p-value: 7.442773e-09 
## Los datos no son aproximadamente normales.
## Resultados para: prop 0.9 n 60 
## Shapiro-Wilk Test p-value: 3.573707e-06 
## Los datos no son aproximadamente normales.
## Resultados para: prop 0.9 n 100 
## Shapiro-Wilk Test p-value: 1.677864e-06 
## Los datos no son aproximadamente normales.
## Resultados para: prop 0.9 n 200 
## Shapiro-Wilk Test p-value: 1.418133e-05 
## Los datos no son aproximadamente normales.
## Resultados para: prop 0.9 n 500 
## Shapiro-Wilk Test p-value: 0.01858804 
## Los datos no son aproximadamente normales.

Como podemos ver ninguna muestra es normal según la prueba de Shapiro-Wilk, sin embargo es importante aclarar que esta prueba, no garantiza que los datos sean exactamente normales. Si no que, proporciona evidencia sobre la suposición de normalidad.

 plot(qqnorm(est))

  qqline(est)
  title("Gráfico Q-Q", adj = 0.5)

  dev.new()

Por el contrario si analísamos las muestras teniendo en cuenta la gráfica de normalidad, vemos que la mayoría se situa sobre la línea de 45 grados, lo que nos da un indicio de normalidad. Adicional vemos que los puntos no se alejan mucho de la linea.

Sin embargo, las pruebas gráficas no son tan concluyentes como las prueba de normalidad como la Shapiro-Wilk, por lo cual no podemos asumir la normalidad de las muestras.