Introducción

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.

Teorema del Limite Central

Metodos y Resultados

Se realiza una simulación en la cual genere una población de n=1000 (Lote), donde el porcentaje de individuos (supongamos plantas) enfermas es del 50%.

set.seed(123)
library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.1.3
## Warning: package 'ggplot2' was built under R version 4.1.3
## Warning: package 'tibble' was built under R version 4.1.3
## Warning: package 'tidyr' was built under R version 4.1.3
## Warning: package 'readr' was built under R version 4.1.3
## Warning: package 'purrr' was built under R version 4.1.3
## Warning: package 'dplyr' was built under R version 4.1.3
## Warning: package 'stringr' was built under R version 4.1.3
## Warning: package 'forcats' was built under R version 4.1.3
## Warning: package 'lubridate' was built under R version 4.1.3
## -- Attaching core tidyverse packages ------------------------ tidyverse 2.0.0 --
## v dplyr     1.1.2     v readr     2.1.4
## v forcats   1.0.0     v stringr   1.5.0
## v ggplot2   3.4.2     v tibble    3.2.1
## v lubridate 1.9.2     v tidyr     1.3.0
## v purrr     1.0.1     
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
## i Use the ]8;;http://conflicted.r-lib.org/conflicted package]8;; to force all conflicts to become errors
library(moments)
## Warning: package 'moments' was built under R version 4.1.3
GeneracionPoblacion = function(Tamaño = 1000, Enfermos = 0.5, Sanos = 0.5) {
  E = round(Tamaño * Enfermos, 0)
  S = round(Tamaño * Sanos, 0)
  Poblacion = c(rep("Enfermo", E), rep("Sana",S))
  print(paste("Lote Generado de tamaño: ", Tamaño, " Enfermos: ",E,"Sanos: ",S))
  return(Poblacion)
}

Lote = GeneracionPoblacion(Tamaño = 1000, Enfermos = 0.5, Sanos = 0.5)
## [1] "Lote Generado de tamaño:  1000  Enfermos:  500 Sanos:  500"

Se genera una función que permite obtener una muestra aleatoria de la poblacion y se calcula el estimador de la proporción muestral (p estimado) para un tamaño de muestra dado, en este caso es de 300 donde se obtuvo un P(estimado) cercano a 0.5.

set.seed(123)
GeneracionMuestra = function(Poblacion, Tamaño, Condicion) {
  if (Tamaño<=length(Poblacion)) {
    muestra1 = sample(x = Poblacion, size = Tamaño)
    P_muestra = sum(muestra1 == Condicion)/Tamaño
    return(P_muestra)
  }
  else {
    print("Error: el tamaño de la muestra supera el tamaño de la población.")
    return(-1)
  }
}

n = 300
muestra1 = GeneracionMuestra (Poblacion = Lote, Tamaño = n, Condicion = "Enfermo")

print(paste("Para una muestra de tamaño:", n, "se obtuvo un P(estimado) =",muestra1))
## [1] "Para una muestra de tamaño: 300 se obtuvo un P(estimado) = 0.49"

Se repite el escenario anterior n=500 veces y ahora pasamos a analizar los resultados en cuanto al comportamiento de los 500 resultados del estimador P(estimado).

GeneracionMuestras_Iteraciones = function(Poblacion, Tamaño, Condicion, Iteraciones) {
  if (Tamaño<=length(Poblacion)) {
    muestras_iteraciones = array(NA,Iteraciones)
    for (i in 1:Iteraciones) {
      muestras_iteraciones[i] = GeneracionMuestra (Poblacion, Tamaño, Condicion)
    }
    return(muestras_iteraciones)
  }
  else {
    print("Error: el tamaño de la muestra supera el tamaño de la población.")
    return(-1)
  }
}


iterac = 500
P_muestras = GeneracionMuestras_Iteraciones (Poblacion = Lote, Tamaño = n, Condicion = "Enfermo",Iteraciones = iterac)

hist(P_muestras, prob = TRUE, main = "Histogram with density curve")
line = mean(P_muestras)
abline(v=line, col="blue", lwd=3)
lines(density(P_muestras), col = 2, lwd = 2)

Resultado=data.frame("ID"=0,"Tamaño_muestra"=n, "Media"=mean(P_muestras),"Mediana"=median(P_muestras),"Desvest"=sd(P_muestras),"Varianza"=var(P_muestras), "Mín."=min(P_muestras), "Máx"=max(P_muestras),"Asimetría"=skewness(P_muestras), "Curtosis"= kurtosis(P_muestras))
Resultado
##   ID Tamaño_muestra   Media Mediana    Desvest     Varianza      Mín.       Máx
## 1  0            300 0.49946     0.5 0.02377897 0.0005654393 0.4166667 0.5833333
##    Asimetría Curtosis
## 1 0.05088417 3.319979

Ahora repetiremos los puntos b y c para tamaños de muestra n=5, 10, 15, 20, 30, 50, 60, 100, 200, 500. Al calcular el P(estimado) para los distintos tamaños de muestra:

  • n=5 (p(estimado)=7.153e-15=0.00000218811)
  • n=10 (p(estimado)=1.371e-09=0.00016919484)
  • n=15 (p(estimado)=1.448e-07=0.00132040508)
  • n=20 (p(estimado)=5.089e-07=0.00464056732)
  • n=30 (p(estimado)=2.267e-05=0.01527492585)
  • n=50 (p(estimado)=0.001308)
  • n=60 (p(estimado)=0.004301)
  • n=100 (p(estimado)=0.006885)
  • n=200 (p(estimado)=0.1709)
  • n=500 (p(estimado)=0.0368)
t_Muestras = c(5, 10,15,20,30,50,60,100,200,500)
iterac = 500


set.seed(123)
for (i in 1:length(t_Muestras)) {
     P_muestras = GeneracionMuestras_Iteraciones (Poblacion = Lote, Tamaño = t_Muestras[i], Condicion = "Enfermo",Iteraciones = iterac)
     par(mfrow=c(1,2))
     hist(P_muestras, las=1, ylab = "Frecuencia", title = t_Muestras[i], main = paste("Muestra de tamaño:", t_Muestras[i]), col = "gray",prob = TRUE)
     abline(v=mean(P_muestras), col="blue", lwd=3)
     lines(density(P_muestras), col = 2, lwd = 2)
     qqnorm(P_muestras, xlab="Cuantiles teóricos", ylab="Cuantiles muestrales",main="qq-normalidad")
     qqline(P_muestras,col = 'red', lwd = 2, lty = 2)
     print(paste('Para una muestra de tamaño: ', t_Muestras[i])) 
     print(shapiro.test(P_muestras))
     x=data.frame("ID"=i,"Tamaño_muestra"=t_Muestras[i], 
                  "Media"=mean(P_muestras),
                  "Mediana"=median(P_muestras),
                  "Desvest"=sd(P_muestras),
                  "Varianza"=var(P_muestras), 
                  "Mín."=min(P_muestras), 
                  "Máx"=max(P_muestras),
                  "Asimetría"=skewness(P_muestras), 
                  "Curtosis"= kurtosis(P_muestras)
                  )
     Resultado=rbind(Resultado,x)
} 
## Warning in plot.window(xlim, ylim, "", ...): "title" is not a graphical
## parameter
## Warning in title(main = main, sub = sub, xlab = xlab, ylab = ylab, ...):
## "title" is not a graphical parameter
## Warning in axis(1, ...): "title" is not a graphical parameter
## Warning in axis(2, ...): "title" is not a graphical parameter

## [1] "Para una muestra de tamaño:  5"
## 
##  Shapiro-Wilk normality test
## 
## data:  P_muestras
## W = 0.92703, p-value = 7.153e-15
## Warning in plot.window(xlim, ylim, "", ...): "title" is not a graphical
## parameter
## Warning in title(main = main, sub = sub, xlab = xlab, ylab = ylab, ...):
## "title" is not a graphical parameter
## Warning in axis(1, ...): "title" is not a graphical parameter
## Warning in axis(2, ...): "title" is not a graphical parameter

## [1] "Para una muestra de tamaño:  10"
## 
##  Shapiro-Wilk normality test
## 
## data:  P_muestras
## W = 0.96473, p-value = 1.371e-09
## Warning in plot.window(xlim, ylim, "", ...): "title" is not a graphical
## parameter
## Warning in title(main = main, sub = sub, xlab = xlab, ylab = ylab, ...):
## "title" is not a graphical parameter
## Warning in axis(1, ...): "title" is not a graphical parameter
## Warning in axis(2, ...): "title" is not a graphical parameter

## [1] "Para una muestra de tamaño:  15"
## 
##  Shapiro-Wilk normality test
## 
## data:  P_muestras
## W = 0.97488, p-value = 1.448e-07
## Warning in plot.window(xlim, ylim, "", ...): "title" is not a graphical
## parameter
## Warning in title(main = main, sub = sub, xlab = xlab, ylab = ylab, ...):
## "title" is not a graphical parameter
## Warning in axis(1, ...): "title" is not a graphical parameter
## Warning in axis(2, ...): "title" is not a graphical parameter

## [1] "Para una muestra de tamaño:  20"
## 
##  Shapiro-Wilk normality test
## 
## data:  P_muestras
## W = 0.97729, p-value = 5.089e-07
## Warning in plot.window(xlim, ylim, "", ...): "title" is not a graphical
## parameter
## Warning in title(main = main, sub = sub, xlab = xlab, ylab = ylab, ...):
## "title" is not a graphical parameter
## Warning in axis(1, ...): "title" is not a graphical parameter
## Warning in axis(2, ...): "title" is not a graphical parameter

## [1] "Para una muestra de tamaño:  30"
## 
##  Shapiro-Wilk normality test
## 
## data:  P_muestras
## W = 0.98378, p-value = 2.267e-05
## Warning in plot.window(xlim, ylim, "", ...): "title" is not a graphical
## parameter
## Warning in title(main = main, sub = sub, xlab = xlab, ylab = ylab, ...):
## "title" is not a graphical parameter
## Warning in axis(1, ...): "title" is not a graphical parameter
## Warning in axis(2, ...): "title" is not a graphical parameter

## [1] "Para una muestra de tamaño:  50"
## 
##  Shapiro-Wilk normality test
## 
## data:  P_muestras
## W = 0.9896, p-value = 0.001308
## Warning in plot.window(xlim, ylim, "", ...): "title" is not a graphical
## parameter
## Warning in title(main = main, sub = sub, xlab = xlab, ylab = ylab, ...):
## "title" is not a graphical parameter
## Warning in axis(1, ...): "title" is not a graphical parameter
## Warning in axis(2, ...): "title" is not a graphical parameter

## [1] "Para una muestra de tamaño:  60"
## 
##  Shapiro-Wilk normality test
## 
## data:  P_muestras
## W = 0.99113, p-value = 0.004301
## Warning in plot.window(xlim, ylim, "", ...): "title" is not a graphical
## parameter
## Warning in title(main = main, sub = sub, xlab = xlab, ylab = ylab, ...):
## "title" is not a graphical parameter
## Warning in axis(1, ...): "title" is not a graphical parameter
## Warning in axis(2, ...): "title" is not a graphical parameter

## [1] "Para una muestra de tamaño:  100"
## 
##  Shapiro-Wilk normality test
## 
## data:  P_muestras
## W = 0.99172, p-value = 0.006885
## Warning in plot.window(xlim, ylim, "", ...): "title" is not a graphical
## parameter
## Warning in title(main = main, sub = sub, xlab = xlab, ylab = ylab, ...):
## "title" is not a graphical parameter
## Warning in axis(1, ...): "title" is not a graphical parameter
## Warning in axis(2, ...): "title" is not a graphical parameter

## [1] "Para una muestra de tamaño:  200"
## 
##  Shapiro-Wilk normality test
## 
## data:  P_muestras
## W = 0.99559, p-value = 0.1709
## Warning in plot.window(xlim, ylim, "", ...): "title" is not a graphical
## parameter
## Warning in title(main = main, sub = sub, xlab = xlab, ylab = ylab, ...):
## "title" is not a graphical parameter
## Warning in axis(1, ...): "title" is not a graphical parameter
## Warning in axis(2, ...): "title" is not a graphical parameter

## [1] "Para una muestra de tamaño:  500"
## 
##  Shapiro-Wilk normality test
## 
## data:  P_muestras
## W = 0.99374, p-value = 0.0368
Resultado
##    ID Tamaño_muestra     Media   Mediana    Desvest     Varianza      Mín.
## 1   0            300 0.4994600 0.5000000 0.02377897 0.0005654393 0.4166667
## 2   1              5 0.5000000 0.4000000 0.22418858 0.0502605210 0.0000000
## 3   2             10 0.4932000 0.5000000 0.16151140 0.0260859319 0.0000000
## 4   3             15 0.4884000 0.4666667 0.12304538 0.0151401648 0.1333333
## 5   4             20 0.5038000 0.5000000 0.10633991 0.0113081764 0.2500000
## 6   5             30 0.5014000 0.5000000 0.09203552 0.0084705366 0.2333333
## 7   6             50 0.5022400 0.5000000 0.06989100 0.0048847519 0.2800000
## 8   7             60 0.4972667 0.5000000 0.06651014 0.0044235983 0.3333333
## 9   8            100 0.5008600 0.5000000 0.04802576 0.0023064733 0.3500000
## 10  9            200 0.4991600 0.5000000 0.03086584 0.0009526998 0.4050000
## 11 10            500 0.5012280 0.5020000 0.01534180 0.0002353708 0.4540000
##          Máx    Asimetría Curtosis
## 1  0.5833333  0.050884174 3.319979
## 2  1.0000000  0.149545376 2.612692
## 3  0.9000000 -0.126792411 2.778414
## 4  0.8666667  0.009958313 2.832073
## 5  0.9000000  0.065718103 3.083091
## 6  0.7666667 -0.139175486 2.847222
## 7  0.7000000 -0.053596887 3.019376
## 8  0.6666667  0.026196750 2.775000
## 9  0.6500000  0.210494281 3.032641
## 10 0.5950000  0.060154599 2.940673
## 11 0.5400000 -0.181761726 2.768702

Se repetirá toda la simulación (puntos a – d), pero ahora para lotes con 10% de plantas enfermas y de nuevo para lotes con un 90% de plantas enfermas. Se genera un lote de tamaño 1000 donde hay 100 enfermos y 900 sanos.

Lote de 10% enfermas

Lote2 = GeneracionPoblacion(Tamaño = 1000, Enfermos = 0.1, Sanos = 0.9)
## [1] "Lote Generado de tamaño:  1000  Enfermos:  100 Sanos:  900"
n2 = 300
muestra2 = GeneracionMuestra (Poblacion = Lote2, Tamaño = n2, Condicion = "Enfermo")

print(paste("Para una muestra de tamaño:", n, "se obtuvo un ^P =",muestra2))
## [1] "Para una muestra de tamaño: 300 se obtuvo un ^P = 0.12"
P_muestras2 = GeneracionMuestras_Iteraciones (Poblacion = Lote2, Tamaño = n2, Condicion = "Enfermo",Iteraciones = iterac)

hist(P_muestras2,prob = TRUE, main = "Histogram with density curve")
line = mean(P_muestras2)
abline(v=line, col="blue", lwd=3)
lines(density(P_muestras2), col = 2, lwd = 2)

Resultado2=data.frame("ID"=0,"Tamaño_muestra"=n2, "Media"=mean(P_muestras2),"Mediana"=median(P_muestras2),"Desvest"=sd(P_muestras2),"Varianza"=var(P_muestras2), "Mín."=min(P_muestras2), "Máx"=max(P_muestras2),"Asimetría"=skewness(P_muestras2), "Curtosis"= kurtosis(P_muestras2))

Resultado2
##   ID Tamaño_muestra  Media Mediana   Desvest     Varianza Mín.  Máx Asimetría
## 1  0            300 0.1014     0.1 0.0143421 0.0002056958 0.06 0.14 0.0853583
##   Curtosis
## 1 2.693459
for (i in 1:length(t_Muestras)) {
     P_muestras = GeneracionMuestras_Iteraciones (Poblacion = Lote2, Tamaño = t_Muestras[i], Condicion = "Enfermo",Iteraciones = iterac)
     par(mfrow=c(1,2))
     hist(P_muestras, las=1, ylab = "Frecuencia", title = t_Muestras[i], main = paste("Muestra de tamaño:", t_Muestras[i]), col = "gray",prob = TRUE)
     abline(v=mean(P_muestras), col="blue", lwd=3)
     lines(density(P_muestras), col = 2, lwd = 2)
     qqnorm(P_muestras, xlab="Cuantiles teóricos", ylab="Cuantiles muestrales",main="qq-normalidad")
     qqline(P_muestras,col = 'red', lwd = 2, lty = 2)
     print(paste('Para una muestra de tamaño: ', t_Muestras[i])) 
     print(shapiro.test(P_muestras))
     x=data.frame("ID"=i,"Tamaño_muestra"=t_Muestras[i], 
                  "Media"=mean(P_muestras),
                  "Mediana"=median(P_muestras),
                  "Desvest"=sd(P_muestras),
                  "Varianza"=var(P_muestras), 
                  "Mín."=min(P_muestras), 
                  "Máx"=max(P_muestras),
                  "Asimetría"=skewness(P_muestras), 
                  "Curtosis"= kurtosis(P_muestras)
                  )
     Resultado2=rbind(Resultado2,x)
} 
## Warning in plot.window(xlim, ylim, "", ...): "title" is not a graphical
## parameter
## Warning in title(main = main, sub = sub, xlab = xlab, ylab = ylab, ...):
## "title" is not a graphical parameter
## Warning in axis(1, ...): "title" is not a graphical parameter
## Warning in axis(2, ...): "title" is not a graphical parameter

## [1] "Para una muestra de tamaño:  5"
## 
##  Shapiro-Wilk normality test
## 
## data:  P_muestras
## W = 0.67805, p-value < 2.2e-16
## Warning in plot.window(xlim, ylim, "", ...): "title" is not a graphical
## parameter
## Warning in title(main = main, sub = sub, xlab = xlab, ylab = ylab, ...):
## "title" is not a graphical parameter
## Warning in axis(1, ...): "title" is not a graphical parameter
## Warning in axis(2, ...): "title" is not a graphical parameter

## [1] "Para una muestra de tamaño:  10"
## 
##  Shapiro-Wilk normality test
## 
## data:  P_muestras
## W = 0.84314, p-value < 2.2e-16
## Warning in plot.window(xlim, ylim, "", ...): "title" is not a graphical
## parameter
## Warning in title(main = main, sub = sub, xlab = xlab, ylab = ylab, ...):
## "title" is not a graphical parameter
## Warning in axis(1, ...): "title" is not a graphical parameter
## Warning in axis(2, ...): "title" is not a graphical parameter

## [1] "Para una muestra de tamaño:  15"
## 
##  Shapiro-Wilk normality test
## 
## data:  P_muestras
## W = 0.90387, p-value < 2.2e-16
## Warning in plot.window(xlim, ylim, "", ...): "title" is not a graphical
## parameter
## Warning in title(main = main, sub = sub, xlab = xlab, ylab = ylab, ...):
## "title" is not a graphical parameter
## Warning in axis(1, ...): "title" is not a graphical parameter
## Warning in axis(2, ...): "title" is not a graphical parameter

## [1] "Para una muestra de tamaño:  20"
## 
##  Shapiro-Wilk normality test
## 
## data:  P_muestras
## W = 0.91565, p-value = 4.413e-16
## Warning in plot.window(xlim, ylim, "", ...): "title" is not a graphical
## parameter
## Warning in title(main = main, sub = sub, xlab = xlab, ylab = ylab, ...):
## "title" is not a graphical parameter
## Warning in axis(1, ...): "title" is not a graphical parameter
## Warning in axis(2, ...): "title" is not a graphical parameter

## [1] "Para una muestra de tamaño:  30"
## 
##  Shapiro-Wilk normality test
## 
## data:  P_muestras
## W = 0.94839, p-value = 3.417e-12
## Warning in plot.window(xlim, ylim, "", ...): "title" is not a graphical
## parameter
## Warning in title(main = main, sub = sub, xlab = xlab, ylab = ylab, ...):
## "title" is not a graphical parameter
## Warning in axis(1, ...): "title" is not a graphical parameter
## Warning in axis(2, ...): "title" is not a graphical parameter

## [1] "Para una muestra de tamaño:  50"
## 
##  Shapiro-Wilk normality test
## 
## data:  P_muestras
## W = 0.95545, p-value = 3.826e-11
## Warning in plot.window(xlim, ylim, "", ...): "title" is not a graphical
## parameter
## Warning in title(main = main, sub = sub, xlab = xlab, ylab = ylab, ...):
## "title" is not a graphical parameter
## Warning in axis(1, ...): "title" is not a graphical parameter
## Warning in axis(2, ...): "title" is not a graphical parameter

## [1] "Para una muestra de tamaño:  60"
## 
##  Shapiro-Wilk normality test
## 
## data:  P_muestras
## W = 0.97837, p-value = 9.204e-07
## Warning in plot.window(xlim, ylim, "", ...): "title" is not a graphical
## parameter
## Warning in title(main = main, sub = sub, xlab = xlab, ylab = ylab, ...):
## "title" is not a graphical parameter
## Warning in axis(1, ...): "title" is not a graphical parameter
## Warning in axis(2, ...): "title" is not a graphical parameter

## [1] "Para una muestra de tamaño:  100"
## 
##  Shapiro-Wilk normality test
## 
## data:  P_muestras
## W = 0.98681, p-value = 0.0001708
## Warning in plot.window(xlim, ylim, "", ...): "title" is not a graphical
## parameter
## Warning in title(main = main, sub = sub, xlab = xlab, ylab = ylab, ...):
## "title" is not a graphical parameter
## Warning in axis(1, ...): "title" is not a graphical parameter
## Warning in axis(2, ...): "title" is not a graphical parameter

## [1] "Para una muestra de tamaño:  200"
## 
##  Shapiro-Wilk normality test
## 
## data:  P_muestras
## W = 0.98974, p-value = 0.001451
## Warning in plot.window(xlim, ylim, "", ...): "title" is not a graphical
## parameter
## Warning in title(main = main, sub = sub, xlab = xlab, ylab = ylab, ...):
## "title" is not a graphical parameter
## Warning in axis(1, ...): "title" is not a graphical parameter
## Warning in axis(2, ...): "title" is not a graphical parameter

## [1] "Para una muestra de tamaño:  500"
## 
##  Shapiro-Wilk normality test
## 
## data:  P_muestras
## W = 0.99169, p-value = 0.006758
Resultado2
##    ID Tamaño_muestra     Media    Mediana     Desvest     Varianza  Mín.
## 1   0            300 0.1014000 0.10000000 0.014342100 2.056958e-04 0.060
## 2   1              5 0.0908000 0.00000000 0.132780350 1.763062e-02 0.000
## 3   2             10 0.0988000 0.10000000 0.089970826 8.094749e-03 0.000
## 4   3             15 0.1065333 0.06666667 0.078858365 6.218642e-03 0.000
## 5   4             20 0.0970000 0.10000000 0.063553742 4.039078e-03 0.000
## 6   5             30 0.0966000 0.10000000 0.052286784 2.733908e-03 0.000
## 7   6             50 0.1031600 0.10000000 0.041267668 1.703020e-03 0.000
## 8   7             60 0.0997000 0.10000000 0.036755207 1.350945e-03 0.000
## 9   8            100 0.1004400 0.10000000 0.028646949 8.206477e-04 0.030
## 10  9            200 0.1003200 0.10000000 0.018514404 3.427832e-04 0.050
## 11 10            500 0.1006480 0.10200000 0.009658502 9.328667e-05 0.074
##          Máx   Asimetría Curtosis
## 1  0.1400000  0.08535830 2.693459
## 2  0.8000000  1.44406114 5.159901
## 3  0.4000000  0.70111455 3.002826
## 4  0.3333333  0.56906412 2.859523
## 5  0.3500000  0.68693318 3.728972
## 6  0.2666667  0.45906245 2.958784
## 7  0.2600000  0.66997010 3.896265
## 8  0.2000000  0.17544897 2.856064
## 9  0.1900000  0.01411462 2.744640
## 10 0.1700000  0.09112019 3.095484
## 11 0.1300000 -0.06691101 3.150707

Lote de 90% enfermas

Lote3 = GeneracionPoblacion(Tamaño = 1000, Enfermos = 0.9, Sanos = 0.1)
## [1] "Lote Generado de tamaño:  1000  Enfermos:  900 Sanos:  100"
n3 = 300
muestra3 = GeneracionMuestra (Poblacion = Lote3, Tamaño = n, Condicion = "Enfermo")

print(paste("Para una muestra de tamaño:", n, "se obtuvo un ^P =",muestra3))
## [1] "Para una muestra de tamaño: 300 se obtuvo un ^P = 0.903333333333333"
P_muestras3 = GeneracionMuestras_Iteraciones (Poblacion = Lote3, Tamaño = n, Condicion = "Enfermo",Iteraciones = iterac)

hist(P_muestras3,prob = TRUE, main = "Histogram with density curve")
line = mean(P_muestras3)
abline(v=line, col="blue", lwd=3)
lines(density(P_muestras3), col = 2, lwd = 2)

Resultado3=data.frame("ID"=0,"Tamaño_muestra"=n2, "Media"=mean(P_muestras3),"Mediana"=median(P_muestras3),"Desvest"=sd(P_muestras3),"Varianza"=var(P_muestras3), "Mín."=min(P_muestras3), "Máx"=max(P_muestras3),"Asimetría"=skewness(P_muestras3), "Curtosis"= kurtosis(P_muestras3))

Resultado3
##   ID Tamaño_muestra     Media Mediana    Desvest     Varianza      Mín.
## 1  0            300 0.9010733     0.9 0.01466099 0.0002149445 0.8566667
##         Máx  Asimetría Curtosis
## 1 0.9366667 -0.1126169  2.69794
for (i in 1:length(t_Muestras)) {
     P_muestras = GeneracionMuestras_Iteraciones (Poblacion = Lote3, Tamaño = t_Muestras[i], Condicion = "Enfermo",Iteraciones = iterac)
     par(mfrow=c(1,2))
     hist(P_muestras, las=1, ylab = "Frecuencia", title = t_Muestras[i], main = paste("Muestra de tamaño:", t_Muestras[i]), col = "gray",prob = TRUE)
     abline(v=mean(P_muestras), col="blue", lwd=3)
     lines(density(P_muestras), col = 2, lwd = 2)
     qqnorm(P_muestras, xlab="Cuantiles teóricos", ylab="Cuantiles muestrales",main="qq-normalidad")
     qqline(P_muestras,col = 'red', lwd = 2, lty = 2)
     print(paste('Para una muestra de tamaño: ', t_Muestras[i])) 
     print(shapiro.test(P_muestras))
     x=data.frame("ID"=i,"Tamaño_muestra"=t_Muestras[i], 
                  "Media"=mean(P_muestras),
                  "Mediana"=median(P_muestras),
                  "Desvest"=sd(P_muestras),
                  "Varianza"=var(P_muestras), 
                  "Mín."=min(P_muestras), 
                  "Máx"=max(P_muestras),
                  "Asimetría"=skewness(P_muestras), 
                  "Curtosis"= kurtosis(P_muestras)
                  )
     Resultado3=rbind(Resultado3,x)
     } 
## Warning in plot.window(xlim, ylim, "", ...): "title" is not a graphical
## parameter
## Warning in title(main = main, sub = sub, xlab = xlab, ylab = ylab, ...):
## "title" is not a graphical parameter
## Warning in axis(1, ...): "title" is not a graphical parameter
## Warning in axis(2, ...): "title" is not a graphical parameter

## [1] "Para una muestra de tamaño:  5"
## 
##  Shapiro-Wilk normality test
## 
## data:  P_muestras
## W = 0.69902, p-value < 2.2e-16
## Warning in plot.window(xlim, ylim, "", ...): "title" is not a graphical
## parameter
## Warning in title(main = main, sub = sub, xlab = xlab, ylab = ylab, ...):
## "title" is not a graphical parameter
## Warning in axis(1, ...): "title" is not a graphical parameter
## Warning in axis(2, ...): "title" is not a graphical parameter

## [1] "Para una muestra de tamaño:  10"
## 
##  Shapiro-Wilk normality test
## 
## data:  P_muestras
## W = 0.84162, p-value < 2.2e-16
## Warning in plot.window(xlim, ylim, "", ...): "title" is not a graphical
## parameter
## Warning in title(main = main, sub = sub, xlab = xlab, ylab = ylab, ...):
## "title" is not a graphical parameter
## Warning in axis(1, ...): "title" is not a graphical parameter
## Warning in axis(2, ...): "title" is not a graphical parameter

## [1] "Para una muestra de tamaño:  15"
## 
##  Shapiro-Wilk normality test
## 
## data:  P_muestras
## W = 0.89195, p-value < 2.2e-16
## Warning in plot.window(xlim, ylim, "", ...): "title" is not a graphical
## parameter
## Warning in title(main = main, sub = sub, xlab = xlab, ylab = ylab, ...):
## "title" is not a graphical parameter
## Warning in axis(1, ...): "title" is not a graphical parameter
## Warning in axis(2, ...): "title" is not a graphical parameter

## [1] "Para una muestra de tamaño:  20"
## 
##  Shapiro-Wilk normality test
## 
## data:  P_muestras
## W = 0.92482, p-value = 4.071e-15
## Warning in plot.window(xlim, ylim, "", ...): "title" is not a graphical
## parameter
## Warning in title(main = main, sub = sub, xlab = xlab, ylab = ylab, ...):
## "title" is not a graphical parameter
## Warning in axis(1, ...): "title" is not a graphical parameter
## Warning in axis(2, ...): "title" is not a graphical parameter

## [1] "Para una muestra de tamaño:  30"
## 
##  Shapiro-Wilk normality test
## 
## data:  P_muestras
## W = 0.95011, p-value = 6.03e-12
## Warning in plot.window(xlim, ylim, "", ...): "title" is not a graphical
## parameter
## Warning in title(main = main, sub = sub, xlab = xlab, ylab = ylab, ...):
## "title" is not a graphical parameter
## Warning in axis(1, ...): "title" is not a graphical parameter
## Warning in axis(2, ...): "title" is not a graphical parameter

## [1] "Para una muestra de tamaño:  50"
## 
##  Shapiro-Wilk normality test
## 
## data:  P_muestras
## W = 0.97019, p-value = 1.499e-08
## Warning in plot.window(xlim, ylim, "", ...): "title" is not a graphical
## parameter
## Warning in title(main = main, sub = sub, xlab = xlab, ylab = ylab, ...):
## "title" is not a graphical parameter
## Warning in axis(1, ...): "title" is not a graphical parameter
## Warning in axis(2, ...): "title" is not a graphical parameter

## [1] "Para una muestra de tamaño:  60"
## 
##  Shapiro-Wilk normality test
## 
## data:  P_muestras
## W = 0.97583, p-value = 2.356e-07
## Warning in plot.window(xlim, ylim, "", ...): "title" is not a graphical
## parameter
## Warning in title(main = main, sub = sub, xlab = xlab, ylab = ylab, ...):
## "title" is not a graphical parameter
## Warning in axis(1, ...): "title" is not a graphical parameter
## Warning in axis(2, ...): "title" is not a graphical parameter

## [1] "Para una muestra de tamaño:  100"
## 
##  Shapiro-Wilk normality test
## 
## data:  P_muestras
## W = 0.9878, p-value = 0.0003431
## Warning in plot.window(xlim, ylim, "", ...): "title" is not a graphical
## parameter
## Warning in title(main = main, sub = sub, xlab = xlab, ylab = ylab, ...):
## "title" is not a graphical parameter
## Warning in axis(1, ...): "title" is not a graphical parameter
## Warning in axis(2, ...): "title" is not a graphical parameter

## [1] "Para una muestra de tamaño:  200"
## 
##  Shapiro-Wilk normality test
## 
## data:  P_muestras
## W = 0.99088, p-value = 0.003524
## Warning in plot.window(xlim, ylim, "", ...): "title" is not a graphical
## parameter
## Warning in title(main = main, sub = sub, xlab = xlab, ylab = ylab, ...):
## "title" is not a graphical parameter
## Warning in axis(1, ...): "title" is not a graphical parameter
## Warning in axis(2, ...): "title" is not a graphical parameter

## [1] "Para una muestra de tamaño:  500"
## 
##  Shapiro-Wilk normality test
## 
## data:  P_muestras
## W = 0.99399, p-value = 0.04544
Resultado3
##    ID Tamaño_muestra     Media   Mediana    Desvest     Varianza      Mín.
## 1   0            300 0.9010733 0.9000000 0.01466099 2.149445e-04 0.8566667
## 2   1              5 0.9032000 1.0000000 0.13366185 1.786549e-02 0.4000000
## 3   2             10 0.9020000 0.9000000 0.08770053 7.691383e-03 0.6000000
## 4   3             15 0.9040000 0.9333333 0.07341891 5.390336e-03 0.6666667
## 5   4             20 0.9021000 0.9000000 0.06291667 3.958507e-03 0.6500000
## 6   5             30 0.9012000 0.9000000 0.05063287 2.563687e-03 0.7333333
## 7   6             50 0.9019600 0.9000000 0.04077602 1.662684e-03 0.7600000
## 8   7             60 0.9022667 0.9000000 0.03683021 1.356464e-03 0.7833333
## 9   8            100 0.9028600 0.9000000 0.02845417 8.096397e-04 0.8200000
## 10  9            200 0.9008200 0.9000000 0.01794077 3.218713e-04 0.8500000
## 11 10            500 0.9001840 0.9000000 0.00958195 9.181377e-05 0.8660000
##          Máx   Asimetría Curtosis
## 1  0.9366667 -0.11261694 2.697940
## 2  1.0000000 -1.20767363 3.859408
## 3  1.0000000 -0.71680702 3.239462
## 4  1.0000000 -0.63461241 3.053212
## 5  1.0000000 -0.47782339 2.978094
## 6  1.0000000 -0.43177436 3.296470
## 7  1.0000000 -0.35725711 2.940646
## 8  1.0000000 -0.31071488 3.143667
## 9  0.9900000 -0.03649376 2.835067
## 10 0.9500000 -0.08272468 2.782354
## 11 0.9300000  0.01288532 2.990180

Conclusiones