El Teorema del Límite Central es uno de los más importantes en la inferencia estadística y habla sobre la convergencia de los estimadores como la proporción muestral a la distribución normal. Algunos autores afirman que esta aproximación es bastante buena a partir del umbral n>30.
Nota
funciones recomendadas : rbinom() , data.frame(), apply()
A continuación se describen los siguientes pasos para su verificación:
## Generar lote de 1000 con 50% de plantas enfermas
n <- 1000
Lote <- rbinom(n, size = 1, prob = 0.5) ## 1->Plantas enfermas
print(Lote)
## [1] 1 1 1 1 1 1 0 0 0 1 0 1 1 0 1 1 1 1 0 1 1 0 0 1 1 1 0 1 0 0 1 1 0 1 1 1 0
## [38] 1 0 1 1 0 1 0 1 0 1 1 0 0 1 1 0 1 1 1 1 1 0 1 1 0 1 1 1 1 0 1 1 0 1 1 0 1
## [75] 1 1 1 1 1 0 1 1 0 0 0 1 1 0 0 0 1 0 0 0 0 0 1 0 0 0 1 1 0 1 1 1 1 0 0 1 0
## [112] 1 1 1 1 0 1 1 1 1 1 1 1 0 0 1 1 0 1 1 0 0 0 1 0 0 1 1 0 0 1 1 0 1 1 0 1 1
## [149] 1 0 1 0 1 0 1 0 1 0 0 1 1 0 1 1 1 1 1 0 0 0 1 1 1 1 0 1 1 0 0 0 0 1 1 0 1
## [186] 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 1 1 0 1 1 1 0 0 0 0 1 1 0 1 0 0 1 1 0 1 0 1
## [223] 0 0 0 0 1 0 0 1 1 0 0 1 1 1 1 0 1 1 1 1 0 0 1 1 0 0 1 1 1 1 1 0 0 1 1 0 1
## [260] 1 0 1 1 0 1 1 0 0 1 0 0 1 1 0 1 1 0 1 1 0 1 1 1 0 0 0 0 0 1 0 1 1 1 0 0 1
## [297] 0 1 1 1 1 1 0 1 1 1 1 0 0 1 1 1 1 1 0 0 0 0 0 0 1 1 0 0 0 0 1 0 1 0 1 1 0
## [334] 0 0 0 1 0 1 1 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 1 0 0
## [371] 1 0 1 0 1 1 0 0 1 0 0 0 0 0 1 1 1 1 1 1 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0
## [408] 0 0 0 1 0 0 1 1 0 0 0 1 0 1 0 1 1 1 1 0 0 1 0 1 0 0 1 1 0 1 0 0 0 0 0 0 0
## [445] 1 1 0 1 1 1 1 0 1 1 0 1 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 0 1 1 1 0 0 1 1 1
## [482] 1 1 0 0 1 1 0 1 0 1 0 1 0 0 0 0 1 0 0 1 1 0 0 1 1 1 1 1 0 1 1 0 0 0 0 1 1
## [519] 0 1 1 0 0 0 1 0 1 1 0 1 1 0 1 1 1 1 1 0 0 1 1 0 0 0 1 0 1 1 0 1 1 1 1 1 0
## [556] 1 1 1 0 1 1 1 0 0 0 1 0 0 1 1 0 0 0 1 1 1 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1
## [593] 1 1 1 1 1 1 0 0 0 0 0 1 1 0 0 1 0 1 1 0 1 0 1 1 1 1 1 1 0 1 1 0 1 0 0 0 1
## [630] 1 1 1 1 0 1 1 1 1 0 1 0 0 1 0 1 1 0 0 0 0 1 1 1 1 1 0 0 0 0 0 1 1 0 1 0 0
## [667] 1 1 1 1 0 1 0 1 0 1 1 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 1 1 1
## [704] 1 1 1 1 1 1 1 0 0 1 0 1 1 1 1 0 0 1 0 1 0 1 0 1 1 1 1 1 0 0 1 0 1 1 0 1 0
## [741] 1 0 0 1 0 0 0 0 1 0 0 0 1 1 0 1 0 1 0 1 1 0 0 1 1 0 1 1 0 1 1 1 1 1 1 0 0
## [778] 1 0 0 1 1 1 0 1 1 1 1 0 0 1 1 1 0 1 1 1 0 1 1 0 0 0 0 0 1 0 0 0 1 1 0 0 0
## [815] 0 0 1 0 1 0 1 0 0 1 1 0 1 0 1 1 0 1 1 0 0 1 0 0 0 0 0 1 0 1 0 0 1 0 1 0 1
## [852] 1 1 1 1 1 1 1 0 1 1 0 1 1 0 0 1 0 1 0 0 0 1 0 0 0 1 0 0 1 1 0 1 1 0 1 1 1
## [889] 0 1 0 1 1 0 1 0 0 1 1 1 1 0 0 1 1 1 0 0 1 1 0 1 0 1 1 0 1 0 0 0 0 0 1 0 0
## [926] 0 0 0 0 1 1 0 1 1 1 1 1 0 1 0 0 0 0 1 0 1 0 1 1 0 0 0 1 0 1 1 0 1 1 1 0 0
## [963] 1 0 1 0 0 0 1 1 0 1 1 1 0 0 0 0 1 1 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0
## [1000] 0
## Función para obtener una muestra aleatoria y calcular el estimador de la proporción muestral
muestra_del_lote <- function(nmuestra, Lote) {
muestra <- sample(Lote, nmuestra)
estimador <- mean(muestra)
return(estimador)
}
## Generamos el estimador de la proporción muestral para un tamaño de muestra n=50
n_muestra <- 50
estimador_proporcion <- muestra_del_lote(n_muestra, Lote)
print(estimador_proporcion)
## [1] 0.56
n_repeticiones <- 500
n_muestra <- 50
estimadores_proporcion <- replicate(n_repeticiones, muestra_del_lote(n_muestra, Lote))
# Calcular la media y mediana de los estimadores
media_estimadores <- mean(estimadores_proporcion)
mediana_estimadores <- median(estimadores_proporcion)
# Crear un histograma
hist(estimadores_proporcion, main="Histograma de Estimadores de Proporción", xlab="Estimador de Proporción", ylab="Frecuencia")
# Crear un boxplot
boxplot(estimadores_proporcion, main="Boxplot de Estimadores de Proporción")
De acuerdo con el diagrama de cajas y bigotes el estimador es insesgado.El Histograma tiene forma de campana y es simétrica alrededor de la media que esta en 0.5 o 50%, evidenciando una distribución normal
# Función para obtener una muestra aleatoria y calcular el estimador de la proporción muestral
muestra_del_lote <- function(nmuestra, Lote) {
muestra <- sample(Lote, nmuestra)
estimador <- mean(muestra)
return(estimador)
}
# Crear un vector para almacenar los tamaños de muestra
n_muestras <- c(5, 10, 15, 20, 30, 50, 60, 100, 200, 500)
# Número de repeticiones
num_repeticiones <- 500
# Almacenar los resultados de las pruebas de normalidad
resultados_normalidad <- data.frame(N = numeric(0), p_value = numeric(0))
# Listas para almacenar los estimadores para cada tamaño de muestra
estimadores_list <- list()
# Bucle para diferentes tamaños de muestra
for (n_muestra in n_muestras) {
# Generar estimadores y realizar pruebas de normalidad
estimadores <- sapply(rep(n_muestra, num_repeticiones), muestra_del_lote, Lote = Lote)
estimadores_list[[as.character(n_muestra)]] <- estimadores
shapiro_test_result <- shapiro.test(estimadores)
# Almacenar los resultados
resultados_normalidad <- rbind(resultados_normalidad, data.frame(N = n_muestra, p_value = shapiro_test_result$p.value))
# Crear gráfico QQ para visualizar la normalidad
qqnorm(estimadores, main = paste("QQ Plot (n =", n_muestra, ")"))
qqline(estimadores)
}
# Mostrar resultados de las pruebas de normalidad
print(resultados_normalidad)
## N p_value
## 1 5 8.464040e-15
## 2 10 5.910439e-10
## 3 15 3.742255e-08
## 4 20 2.165511e-06
## 5 30 1.307119e-04
## 6 50 6.107590e-03
## 7 60 2.793062e-03
## 8 100 1.189845e-02
## 9 200 1.473921e-01
## 10 500 8.639304e-02
# Crear un boxplot para comparar distribuciones
boxplot(estimadores_list,
names = n_muestras,
main = "Comparación de Distribuciones por Tamaño de Muestra",
xlab = "Tamaño de Muestra",
ylab = "Estimador de Proporción")
Con los gráficos Cuantil-Cuantil se pudo comparar la distribución de los datos a medida que se aumenta el numero de muestras. De acuerdo con el gráfico de Comparación de distribuciones por tamaño de muestra a medida que aumenta el tamaño de esta , se reduce la variacion y dispersión de los datos.
## Generar lote de 1000 con 10% de plantas enfermas
n <- 1000
Lote <- rbinom(n, size = 1, prob = 0.1) ## 1->Plantas enfermas
print(Lote)
## [1] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
## [38] 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 1 0 0 0 0 1
## [75] 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0
## [112] 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
## [149] 0 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0
## [186] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
## [223] 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0
## [260] 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## [297] 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0
## [334] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
## [371] 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0
## [408] 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0
## [445] 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0
## [482] 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0
## [519] 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## [556] 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0
## [593] 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0
## [630] 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## [667] 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
## [704] 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
## [741] 0 0 1 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
## [778] 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
## [815] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
## [852] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
## [889] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## [926] 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
## [963] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0
## [1000] 0
## Función para obtener una muestra aleatoria y calcular el estimador de la proporción muestral
muestra_del_lote <- function(nmuestra, Lote) {
muestra <- sample(Lote, nmuestra)
estimador <- mean(muestra)
return(estimador)
}
## Generamos el estimador de la proporción muestral para un tamaño de muestra n=50
n_muestra <- 50
estimador_proporcion <- muestra_del_lote(n_muestra, Lote)
print(estimador_proporcion)
## [1] 0.14
n_repeticiones <- 500
n_muestra <- 50
estimadores_proporcion <- replicate(n_repeticiones, muestra_del_lote(n_muestra, Lote))
# Calcular la media y mediana de los estimadores
media_estimadores <- mean(estimadores_proporcion)
mediana_estimadores <- median(estimadores_proporcion)
# Crear un histograma
hist(estimadores_proporcion, main="Histograma de Estimadores de Proporción", xlab="Estimador de Proporción", ylab="Frecuencia")
# Crear un boxplot
boxplot(estimadores_proporcion, main="Boxplot de Estimadores de Proporción")
# Función para obtener una muestra aleatoria y calcular el estimador de la proporción muestral
muestra_del_lote <- function(nmuestra, Lote) {
muestra <- sample(Lote, nmuestra)
estimador <- mean(muestra)
return(estimador)
}
# Crear un vector para almacenar los tamaños de muestra
n_muestras <- c(5, 10, 15, 20, 30, 50, 60, 100, 200, 500)
# Número de repeticiones
num_repeticiones <- 500
# Almacenar los resultados de las pruebas de normalidad
resultados_normalidad <- data.frame(N = numeric(0), p_value = numeric(0))
# Listas para almacenar los estimadores para cada tamaño de muestra
estimadores_list <- list()
# Bucle para diferentes tamaños de muestra
for (n_muestra in n_muestras) {
# Generar estimadores y realizar pruebas de normalidad
estimadores <- sapply(rep(n_muestra, num_repeticiones), muestra_del_lote, Lote = Lote)
estimadores_list[[as.character(n_muestra)]] <- estimadores
shapiro_test_result <- shapiro.test(estimadores)
# Almacenar los resultados
resultados_normalidad <- rbind(resultados_normalidad, data.frame(N = n_muestra, p_value = shapiro_test_result$p.value))
# Crear gráfico QQ para visualizar la normalidad
qqnorm(estimadores, main = paste("QQ Plot (n =", n_muestra, ")"))
qqline(estimadores)
}
# Mostrar resultados de las pruebas de normalidad
print(resultados_normalidad)
## N p_value
## 1 5 1.710198e-29
## 2 10 2.763251e-22
## 3 15 1.202095e-18
## 4 20 1.643353e-16
## 5 30 3.150491e-12
## 6 50 2.684457e-08
## 7 60 1.433004e-06
## 8 100 3.891318e-06
## 9 200 2.770752e-03
## 10 500 1.021374e-02
# Crear un boxplot para comparar distribuciones
boxplot(estimadores_list,
names = n_muestras,
main = "Comparación de Distribuciones por Tamaño de Muestra",
xlab = "Tamaño de Muestra",
ylab = "Estimador de Proporción")
## Generar lote de 1000 con 10% de plantas enfermas
n <- 1000
Lote <- rbinom(n, size = 1, prob = 0.9) ## 1->Plantas enfermas
print(Lote)
## [1] 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1
## [38] 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 0 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1
## [75] 1 0 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1
## [112] 0 1 1 0 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1
## [149] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1
## [186] 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1
## [223] 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1
## [260] 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1
## [297] 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1
## [334] 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 0 1 1 1 1 0 1 1 1 1 1 1
## [371] 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [408] 1 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [445] 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [482] 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [519] 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1
## [556] 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1
## [593] 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1
## [630] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1
## [667] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1
## [704] 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1
## [741] 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 0 1 0 1 1 0 1 1
## [778] 1 1 1 1 1 1 0 0 1 1 1 0 0 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [815] 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1
## [852] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 0 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1
## [889] 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1
## [926] 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1
## [963] 0 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [1000] 0
## Función para obtener una muestra aleatoria y calcular el estimador de la proporción muestral
muestra_del_lote <- function(nmuestra, Lote) {
muestra <- sample(Lote, nmuestra)
estimador <- mean(muestra)
return(estimador)
}
## Generamos el estimador de la proporción muestral para un tamaño de muestra n=50
n_muestra <- 50
estimador_proporcion <- muestra_del_lote(n_muestra, Lote)
print(estimador_proporcion)
## [1] 0.94
n_repeticiones <- 500
n_muestra <- 50
estimadores_proporcion <- replicate(n_repeticiones, muestra_del_lote(n_muestra, Lote))
# Calcular la media y mediana de los estimadores
media_estimadores <- mean(estimadores_proporcion)
mediana_estimadores <- median(estimadores_proporcion)
# Crear un histograma
hist(estimadores_proporcion, main="Histograma de Estimadores de Proporción", xlab="Estimador de Proporción", ylab="Frecuencia")
# Crear un boxplot
boxplot(estimadores_proporcion, main="Boxplot de Estimadores de Proporción")
# Función para obtener una muestra aleatoria y calcular el estimador de la proporción muestral
muestra_del_lote <- function(nmuestra, Lote) {
muestra <- sample(Lote, nmuestra)
estimador <- mean(muestra)
return(estimador)
}
# Crear un vector para almacenar los tamaños de muestra
n_muestras <- c(5, 10, 15, 20, 30, 50, 60, 100, 200, 500)
# Número de repeticiones
num_repeticiones <- 500
# Almacenar los resultados de las pruebas de normalidad
resultados_normalidad <- data.frame(N = numeric(0), p_value = numeric(0))
# Listas para almacenar los estimadores para cada tamaño de muestra
estimadores_list <- list()
# Bucle para diferentes tamaños de muestra
for (n_muestra in n_muestras) {
# Generar estimadores y realizar pruebas de normalidad
estimadores <- sapply(rep(n_muestra, num_repeticiones), muestra_del_lote, Lote = Lote)
estimadores_list[[as.character(n_muestra)]] <- estimadores
shapiro_test_result <- shapiro.test(estimadores)
# Almacenar los resultados
resultados_normalidad <- rbind(resultados_normalidad, data.frame(N = n_muestra, p_value = shapiro_test_result$p.value))
# Crear gráfico QQ para visualizar la normalidad
qqnorm(estimadores, main = paste("QQ Plot (n =", n_muestra, ")"))
qqline(estimadores)
}
# Mostrar resultados de las pruebas de normalidad
print(resultados_normalidad)
## N p_value
## 1 5 6.082162e-28
## 2 10 7.645865e-23
## 3 15 1.494528e-16
## 4 20 1.932254e-14
## 5 30 9.743689e-12
## 6 50 1.548076e-08
## 7 60 3.919779e-07
## 8 100 3.723008e-05
## 9 200 2.481907e-05
## 10 500 2.073068e-02
# Crear un boxplot para comparar distribuciones
boxplot(estimadores_list,
names = n_muestras,
main = "Comparación de Distribuciones por Tamaño de Muestra",
xlab = "Tamaño de Muestra",
ylab = "Estimador de Proporción")
Lote 10% de plantas enfermas: Dados los resultados obtenidos se pudo evidenciar que a medida que incrementa la muestra, la distribución de las medias muestrales sigue una distribución normal. Lote 50% de plantas enfermas: la mayoría de los p^ se encuentran en la izquierda de la distribución debido a la desigualdad proporcional Lote 90% de plantas enfermas: la mayoría de los p^ se encuentran en la derecha de la distribución debido a la desigualdad proporcional