# Paso 1: Generación de la población
set.seed(123)  # Semilla para reproducibilidad
tamano_poblacion <- 1000
proporcion_enfermas <- 0.5
poblacion <- rep(c(0, 1), times = c((1 - proporcion_enfermas) * tamano_poblacion, proporcion_enfermas * tamano_poblacion))

# Paso 2: Función para obtener muestras aleatorias y calcular el estimador pˆ
obtener_muestra_y_estimar_proporcion <- function(n) {
  muestra <- sample(poblacion, size = n, replace = FALSE)
  proporcion_muestral <- mean(muestra)
  return(proporcion_muestral)
}

# Paso 3: Análisis  para n=500 
n_repeticiones <- 500
resultados <- replicate(n_repeticiones, obtener_muestra_y_estimar_proporcion(500))

# Análisis de resultados
media_resultados <- mean(resultados)
desviacion_estandar_resultados <- sd(resultados)
media_resultados
## [1] 0.500056
desviacion_estandar_resultados
## [1] 0.01624897
# Histograma de los resultados
 hist(resultados, breaks = 30, main = "Histograma de Estimaciones de Proporción Muestral",
     xlab = "Proporción Muestral", ylab = "Frecuencia")

 ## Teniendo en cuenta la media de las estimaciones de proporción muestral es muy cercano al valor teórico esperado de 0.5 lo que nos indica que el estimador es insesgado y converge muy cerca del valor real de la proporción poblacional, por otro lado  la desviación estándar es una desviación estándar relativamente baja, lo que sugiere una alta precisión en las estimaciones. La baja variabilidad en las estimaciones indica que tienden a agruparse cerca de la media.


# Paso 4: Repetición para diferentes tamaños de muestra
tamanos_muestra <- c(5, 10, 15, 20, 30, 50, 60, 100, 200, 500)
resultados_por_tamano <- matrix(0, nrow = n_repeticiones, ncol = length(tamanos_muestra))

for (i in 1:length(tamanos_muestra)) {
  tamano <- tamanos_muestra[i]
  resultados_por_tamano[, i] <- replicate(n_repeticiones, obtener_muestra_y_estimar_proporcion(tamano))
}

# Pruebas de normalidad y gráficos de normalidad
library(stats)

for (i in 1:length(tamanos_muestra)) {
  tamano <- tamanos_muestra[i]
  p_valor_shapiro <- shapiro.test(resultados_por_tamano[, i])$p.value
  
  cat("Tamaño de muestra:", tamano, "\n")
  cat("Media:", mean(resultados_por_tamano[, i]), "\n")
  cat("Desviación estándar:", sd(resultados_por_tamano[, i]), "\n")
  cat("P-valor de Shapiro-Wilk:", p_valor_shapiro, "\n")
  qqnorm(resultados_por_tamano[, i], main = paste("QQ-Plot para n =", tamano))
  qqline(resultados_por_tamano[, i])
  cat("\n")
}
## Tamaño de muestra: 5 
## Media: 0.4952 
## Desviación estándar: 0.2280372 
## P-valor de Shapiro-Wilk: 2.411756e-14

## 
## Tamaño de muestra: 10 
## Media: 0.4952 
## Desviación estándar: 0.1636782 
## P-valor de Shapiro-Wilk: 1.771429e-09

## 
## Tamaño de muestra: 15 
## Media: 0.4969333 
## Desviación estándar: 0.1337982 
## P-valor de Shapiro-Wilk: 5.465098e-07

## 
## Tamaño de muestra: 20 
## Media: 0.497 
## Desviación estándar: 0.1075832 
## P-valor de Shapiro-Wilk: 2.230929e-06

## 
## Tamaño de muestra: 30 
## Media: 0.497 
## Desviación estándar: 0.0904595 
## P-valor de Shapiro-Wilk: 3.784776e-05

## 
## Tamaño de muestra: 50 
## Media: 0.50028 
## Desviación estándar: 0.06716057 
## P-valor de Shapiro-Wilk: 0.0001388268

## 
## Tamaño de muestra: 60 
## Media: 0.5004667 
## Desviación estándar: 0.0652727 
## P-valor de Shapiro-Wilk: 0.007247165

## 
## Tamaño de muestra: 100 
## Media: 0.49646 
## Desviación estándar: 0.04768034 
## P-valor de Shapiro-Wilk: 0.006482824

## 
## Tamaño de muestra: 200 
## Media: 0.49951 
## Desviación estándar: 0.03039338 
## P-valor de Shapiro-Wilk: 0.2753282

## 
## Tamaño de muestra: 500 
## Media: 0.49988 
## Desviación estándar: 0.0157557 
## P-valor de Shapiro-Wilk: 0.1643835

En general, las medias de las estimaciones de proporción muestral son cercanas al valor teórico, esto indica que los estimadores tienden a ser insesgados y convergen hacia el valor real de la proporción poblacional a medida que aumenta el tamaño de la muestra.

A medida que aumenta el tamaño de la muestra, la desviación estándar de las estimaciones disminuye significativamente, lo cual indica que las estimaciones son más precisas para tamaños de muestra más grandes y tienen menos variabilidad alrededor de la media.

Según se observa en los resultados de la prueba de Shapiro-Wilk, a medida que aumenta el tamaño de la muestra, los p-valores de Shapiro-Wilk tienden a aumentar. Cuando el tamaño de la muestra es pequeño (5, 10, 15, 20), los p-valores son bajos, lo que sugiere que no siguen una distribución normal. A medida que el tamaño de la muestra aumenta (30, 50, 60, 100, 200, 500), los p-valores aumentan y algunos de ellos superan el nivel de significancia, esto sugiere que, para tamaños de muestra más grandes, las estimaciones se asemejan cada vez más a una distribución normal, y la normalidad podría ser una suposición razonable.