SIMULACIÓN DE VERIFICACIÓN DEL TEOREMA DEL LIMITE CENTRAL (TLC)


En el siguiente ejercicio se realizara paso a paso la simulación para demostrar el teorema del limite central, utilizando funciones como:

*rbinom():General numeros aleatorios siguiendo la distribucion binomial.

*data.frame():Se usa para crear una tabla de datos bidimensionales.

*sapply(): Aplica una función a cada elemento de una lista, vector o cualquier estructura de datos similares.

Objetivo del ejercicio

El teorema del limite central establece que si de una población tomamos multiples muestras suficientemente grande (n > 30) los promedios de estas dara como resultado una distribución normal con una media similar o muy cercana al del total de la poblacion e igualmente que la varianza dividiendola por la cantidad de las muestras estimadas.

Es por eso que para demostrarlo se realizaran el siguiente ejercicio tomando como 1000 individuos como poblacion y variando la cantidad de las muestras de esta poblacion desde 5 hasta 500.

Paso a y b: Crear la población con tamaño de 1000 y con un 50% de casos enfermos y analizar la distribucion para 5 muestras.

# Establecer semilla
set.seed(123)
n <- 1000
pob <- rbinom(n,1,0.5) # Población simulada
   
# Calculo el estimador de la proporción muestral pˆ para un tamaño de muestra dado n

proporcion <- function(m){
      p <-  sum(sample(pob,m)/m)
   return(p)
   }


cat("Proporcion de Enfermos s5:", proporcion(5))
## Proporcion de Enfermos s5: 0.6
#-----------------------------------------------
# n = 5
w <- rep(5,1000)
s5 <- sapply(w, proporcion)
#hist(s5, main = "Histograma de s5", col = "lightblue", border = "black", prob = TRUE)
# Ho: s1 tiene distribucion normal.
# Ha: S1 no tiene distribucion normal.
# 
# Si el v-p < alpha : 0.05
# Se rechaza Ho, se acepta Ha como V
#  -> si no es normal
# De lo contrario -> asumimos que si es normal

shapiro.test(s5)
## 
##  Shapiro-Wilk normality test
## 
## data:  s5
## W = 0.92992, p-value < 2.2e-16
#install.packages("nortest")
library(nortest)
lillie.test(s5)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  s5
## D = 0.18289, p-value < 2.2e-16
sf.test(s5)
## 
##  Shapiro-Francia normality test
## 
## data:  s5
## W = 0.93092, p-value < 2.2e-16
# Dividir la ventana gráfica en dos paneles
par(mfrow = c(1, 2))

# Primera gráfica: Histograma de las muestras con la densidad de las medias muestrales
hist(s5, prob = TRUE, col = "lightblue", border = "black",
     main = "Densidad de Muestras, n = 5", 
     xlab = "Proporción muestral", ylab = "Densidad")
lines(density(s5), col = "blue", lwd = 2)  # Añadir la curva de densidad de las medias

# Segunda gráfica: Gráfico Q-Q de las medias muestrales
qqnorm(s5, main = "Gráfico Q-Q, Medias Muestrales")
qqline(s5, col = "red", lwd = 2)  # Añadir la línea de referencia


Paso c: Repita el escenario anterior (b) n=500 veces y analice los resultados en cuanto al comportamiento de los 500 resultados del estimador $


# Establecer semilla
set.seed(123)
n <- 1000
pob <- rbinom(n,1,0.5) # Población simulada
   
# Calculo el estimador de la proporción muestral pˆ para un tamaño de muestra dado n

proporcion <- function(m){
      p <-  sum(sample(pob,m)/m)
   return(p)
   }

cat("Proporcion de Enfermos s500:", proporcion(500))
## Proporcion de Enfermos s500: 0.49
#-----------------------------------------------
# n = 5
w1 <- rep(500,1000)
s500 <- sapply(w1, proporcion)

# Ho: s1 tiene distribucion normal.
# Ha: S1 no tiene distribucion normal.
# 
# Si el v-p < alpha : 0.05
# Se rechaza Ho, se acepta Ha como V
#  -> si no es normal
# De lo contrario -> asumimos que si es normal

shapiro.test(s500)
## 
##  Shapiro-Wilk normality test
## 
## data:  s500
## W = 0.99699, p-value = 0.05589
#install.packages("nortest")
library(nortest)
lillie.test(s500)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  s500
## D = 0.047373, p-value = 1.656e-05
sf.test(s500)
## 
##  Shapiro-Francia normality test
## 
## data:  s500
## W = 0.99715, p-value = 0.0689
# Dividir la ventana gráfica en dos paneles
par(mfrow = c(1, 2))

# Primera gráfica: Histograma de las muestras con la densidad de las medias muestrales
hist(s500, prob = TRUE, col = "lightblue", border = "black",
     main = "Densidad de Muestras, n = 500", 
     xlab = "Proporción muestral", ylab = "Densidad")
lines(density(s500), col = "blue", lwd = 2)  # Añadir la curva de densidad de las medias

# Segunda gráfica: Gráfico Q-Q de las medias muestrales
qqnorm(s500, main = "Gráfico Q-Q, Medias Muestrales")
qqline(s500, col = "red", lwd = 2)  # Añadir la línea de referencia



Analisis de los resultados

¿Qué tan simétricos o sesgados son los resultados obtenidos?

R: Basado en el grafico de quantiles se puede observar que la tiene buena relación de distribución normal y el cual es reforzado por el valor p-value de las pruebas de shapiro wilk y shapiro francia ya que los valores son mayores a p > 0.05, sin embargo para el test de Kolmogorov-Smirnov ajustado el valor es mucho menos que 0.05 lo que significa que se rechaza la hipótesis nula, lo que indica que los datos no siguen una distribución normal, esto puede suceder debido a que el test tiene una alta sensibilidad a los valores atipicos de las muestras.

¿Qué se puede observar en cuanto a la variabilidad?

Si hallamos los variabilidad y la desviación estandar como se muestra en los resultados, puede observar que son muy pequeños, esto se puede atribuir al tamaño de la muestra.



Paso D


Repita los puntos b y c para tamaños de muestra n=5, 10, 15, 20, 30, 50, 60, 100, 200, 500 . Compare los resultados obtenidos para los diferentes tamaños de muestra en cuanto a la normalidad. Utilice pruebas de bondad y ajuste (shapiro wilks :shspiro.test()) y métodos gráficos (gráfico de normalidad: qqnorm()). Comente en su informe los resultados obtenidos


set.seed(123)
n <- 1000
pob <- rbinom(n,1,0.5) # Población simulada
   
# Calculo el estimador de la proporción muestral pˆ para un tamaño de muestra dado n

proporcion <- function(m){
      p <-  sum(sample(pob,m)/m)
   return(p)
   }

cat("Proporción de enfermos s5:", proporcion(5))
## Proporción de enfermos s5: 0.6
#-----------------------------------------------
# n = 5
w <- rep(5,1000)
s1 <- sapply(w, proporcion)


# Ho: s1 tiene distribucion normal.
# Ha: S1 no tiene distribucion normal.
# 
# Si el v-p < alpha : 0.05
# Se rechaza Ho, se acepta Ha como V
#  -> si no es normal
# De lo contrario -> asumimos que si es normal

shapiro.test(s1)
## 
##  Shapiro-Wilk normality test
## 
## data:  s1
## W = 0.92992, p-value < 2.2e-16
#install.packages("nortest")
library(nortest)
lillie.test(s1)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  s1
## D = 0.18289, p-value < 2.2e-16
sf.test(s1)
## 
##  Shapiro-Francia normality test
## 
## data:  s1
## W = 0.93092, p-value < 2.2e-16
# Dividir la ventana gráfica en dos paneles
par(mfrow = c(1, 2))

# Primera gráfica: Histograma de las muestras con la densidad de las medias muestrales
hist(s1, prob = TRUE, col = "lightblue", border = "black",
     main = "Densidad de Muestras, n = 5", 
     xlab = "Proporción muestral", ylab = "Densidad")
lines(density(s1), col = "blue", lwd = 2)  # Añadir la curva de densidad de las medias

# Segunda gráfica: Gráfico Q-Q de las medias muestrales
qqnorm(s1, main = "Gráfico Q-Q, Medias Muestrales")
qqline(s1, col = "red", lwd = 2)  # Añadir la línea de referencia

#---------------------------------------------------------------------
# n=10
set.seed(123)
n10 <- 1000
pob10 <- rbinom(n10,1,0.5) # Población simulada

proporcion10 <- function(l){
      p10 <-  sum(sample(pob10,l)/l)
   return(p10)
   }

cat("Proporción de enfermos s10:",proporcion10(10))
## Proporción de enfermos s10: 0.7
w10 <- rep(10,1000)
s10 <- sapply(w10, proporcion10)


shapiro.test(s10)
## 
##  Shapiro-Wilk normality test
## 
## data:  s10
## W = 0.96702, p-value = 2.821e-14
#install.packages("nortest")
#library(nortest)
lillie.test(s10)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  s10
## D = 0.12394, p-value < 2.2e-16
sf.test(s10)
## 
##  Shapiro-Francia normality test
## 
## data:  s10
## W = 0.96718, p-value = 6.981e-13
# Dividir la ventana gráfica en dos paneles
par(mfrow = c(1, 2))

# Primera gráfica: Histograma de las muestras con la densidad de las medias muestrales
hist(s10, prob = TRUE, col = "lightblue", border = "black",
     main = "Densidad de Muestras, n = 10", 
     xlab = "Proporción muestral", ylab = "Densidad")
lines(density(s10), col = "blue", lwd = 2)  # Añadir la curva de densidad de las medias

# Segunda gráfica: Gráfico Q-Q de las medias muestrales
qqnorm(s10, main = "Gráfico Q-Q, Medias Muestrales")
qqline(s10, col = "red", lwd = 2)  # Añadir la línea de referencia

#---------------------------------------------------------------------

#n=15
set.seed(123)
n15 <- 1000
pob15 <- rbinom(n15,1,0.5) # Población simulada

proporcion15 <- function(k){
      p15 <-  sum(sample(pob15,k)/k)
   return(p15)
   }

proporcion_15 <- proporcion15(15)
cat("Proporcion de Enfermos s15:", proporcion_15)
## Proporcion de Enfermos s15: 0.6
w15 <- rep(15,1000)
s15 <- sapply(w15, proporcion15)

shapiro.test(s15)
## 
##  Shapiro-Wilk normality test
## 
## data:  s15
## W = 0.97634, p-value = 1.09e-11
#install.packages("nortest")
#library(nortest)
lillie.test(s15)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  s15
## D = 0.11966, p-value < 2.2e-16
sf.test(s15)
## 
##  Shapiro-Francia normality test
## 
## data:  s15
## W = 0.97654, p-value = 1.352e-10
# Dividir la ventana gráfica en dos paneles
par(mfrow = c(1, 2))

# Primera gráfica: Histograma de las muestras con la densidad de las medias muestrales
hist(s15, prob = TRUE, col = "lightblue", border = "black",
     main = "Densidad de Muestras, n = 15", 
     xlab = "Proporción muestral", ylab = "Densidad")
lines(density(s15), col = "blue", lwd = 2)  # Añadir la curva de densidad de las medias

# Segunda gráfica: Gráfico Q-Q de las medias muestrales
qqnorm(s15, main = "Gráfico Q-Q, Medias Muestrales")
qqline(s15, col = "red", lwd = 2)  # Añadir la línea de referencia

#---------------------------------------------------------------------

# n=20

set.seed(123)
n20 <- 1000
pob20 <- rbinom(n20,1,0.5) # Población simulada

proporcion20 <- function(j){
      p20 <-  sum(sample(pob20,j)/j)
   return(p20)
   }

proporcion_20 <- proporcion20(20)
cat("Proporcion de Enfermos s20:", proporcion_20)
## Proporcion de Enfermos s20: 0.6
w20 <- rep(20,1000)
s20 <- sapply(w20, proporcion20)


shapiro.test(s20)
## 
##  Shapiro-Wilk normality test
## 
## data:  s20
## W = 0.98162, p-value = 6.499e-10
#install.packages("nortest")
#library(nortest)
lillie.test(s20)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  s20
## D = 0.094262, p-value < 2.2e-16
sf.test(s20)
## 
##  Shapiro-Francia normality test
## 
## data:  s20
## W = 0.98152, p-value = 4.022e-09
# Dividir la ventana gráfica en dos paneles
par(mfrow = c(1, 2))

# Primera gráfica: Histograma de las muestras con la densidad de las medias muestrales
hist(s20, prob = TRUE, col = "lightblue", border = "black",
     main = "Densidad de Muestras, n = 20", 
     xlab = "Proporción muestral", ylab = "Densidad")
lines(density(s20), col = "blue", lwd = 2)  # Añadir la curva de densidad de las medias

# Segunda gráfica: Gráfico Q-Q de las medias muestrales
qqnorm(s20, main = "Gráfico Q-Q, Medias Muestrales")
qqline(s20, col = "red", lwd = 2)  # Añadir la línea de referencia

#---------------------------------------------------------------------

# n=30
set.seed(123)
n30 <- 1000
pob30 <- rbinom(n30,1,0.5) # Población simulada

proporcion30 <- function(h){
      p30 <-  sum(sample(pob30,h)/h)
   return(p30)
   }

proporcion_30 <- proporcion30(30)
cat("Proporcion de Enfermos s30:", proporcion_30)
## Proporcion de Enfermos s30: 0.5
w30 <- rep(30,1000)
s30 <- sapply(w30, proporcion30)

shapiro.test(s30)
## 
##  Shapiro-Wilk normality test
## 
## data:  s30
## W = 0.9871, p-value = 1.047e-07
#install.packages("nortest")
#library(nortest)
lillie.test(s30)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  s30
## D = 0.077445, p-value = 1.676e-15
sf.test(s30)
## 
##  Shapiro-Francia normality test
## 
## data:  s30
## W = 0.9874, p-value = 5.05e-07
# Dividir la ventana gráfica en dos paneles
par(mfrow = c(1, 2))

# Primera gráfica: Histograma de las muestras con la densidad de las medias muestrales
hist(s30, prob = TRUE, col = "lightblue", border = "black",
     main = "Densidad de Muestras, n = 30", 
     xlab = "Proporción muestral", ylab = "Densidad")
lines(density(s30), col = "blue", lwd = 2)  # Añadir la curva de densidad de las medias

# Segunda gráfica: Gráfico Q-Q de las medias muestrales
qqnorm(s30, main = "Gráfico Q-Q, Medias Muestrales")
qqline(s30, col = "red", lwd = 2)  # Añadir la línea de referencia

#---------------------------------------------------------------------

# n=50
set.seed(123)
n50 <- 1000
pob50 <- rbinom(n50,1,0.5) # Población simulada

proporcion50 <- function(g){
      p50 <-  sum(sample(pob50,g)/g)
   return(p50)
   }

proporcion_50 <- proporcion50(50)
cat("Proporcion de Enfermos s50:", proporcion_50)
## Proporcion de Enfermos s50: 0.48
w50 <- rep(50,1000)
s50 <- sapply(w50, proporcion50)

shapiro.test(s50)
## 
##  Shapiro-Wilk normality test
## 
## data:  s50
## W = 0.99181, p-value = 2.383e-05
#install.packages("nortest")
#library(nortest)
lillie.test(s50)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  s50
## D = 0.072072, p-value = 2.551e-13
sf.test(s50)
## 
##  Shapiro-Francia normality test
## 
## data:  s50
## W = 0.99184, p-value = 4.941e-05
# Dividir la ventana gráfica en dos paneles
par(mfrow = c(1, 2))

# Primera gráfica: Histograma de las muestras con la densidad de las medias muestrales
hist(s50, prob = TRUE, col = "lightblue", border = "black",
     main = "Densidad de Muestras, n = 50", 
     xlab = "Proporción muestral", ylab = "Densidad")
lines(density(s50), col = "blue", lwd = 2)  # Añadir la curva de densidad de las medias

# Segunda gráfica: Gráfico Q-Q de las medias muestrales
qqnorm(s50, main = "Gráfico Q-Q, Medias Muestrales")
qqline(s50, col = "red", lwd = 2)  # Añadir la línea de referencia

#---------------------------------------------------------------------

# n=60
set.seed(123)
n60 <- 1000
pob60 <- rbinom(n60,1,0.5) # Población simulada

proporcion60 <- function(f){
      p60 <-  sum(sample(pob60,f)/f)
   return(p60)
   }

proporcion_60 <- proporcion60(60)
cat("Proporcion de Enfermos s60:", proporcion_60)
## Proporcion de Enfermos s60: 0.4833333
w60 <- rep(60,1000)
s60 <- sapply(w60, proporcion60)


shapiro.test(s60)
## 
##  Shapiro-Wilk normality test
## 
## data:  s60
## W = 0.99234, p-value = 4.83e-05
#install.packages("nortest")
#library(nortest)
lillie.test(s60)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  s60
## D = 0.060285, p-value = 3.889e-09
sf.test(s60)
## 
##  Shapiro-Francia normality test
## 
## data:  s60
## W = 0.9926, p-value = 0.0001213
# Dividir la ventana gráfica en dos paneles
par(mfrow = c(1, 2))

# Primera gráfica: Histograma de las muestras con la densidad de las medias muestrales
hist(s60, prob = TRUE, col = "lightblue", border = "black",
     main = "Densidad de Muestras, n = 60", 
     xlab = "Proporción muestral", ylab = "Densidad")
lines(density(s60), col = "blue", lwd = 2)  # Añadir la curva de densidad de las medias

# Segunda gráfica: Gráfico Q-Q de las medias muestrales
qqnorm(s60, main = "Gráfico Q-Q, Medias Muestrales")
qqline(s60, col = "red", lwd = 2)  # Añadir la línea de referencia

#---------------------------------------------------------------------

# n=100
set.seed(123)
n100 <- 1000
pob100 <- rbinom(n100,1,0.5) # Población simulada

proporcion100 <- function(d){
      p100 <-  sum(sample(pob100,d)/d)
   return(p100)
   }

proporcion_100 <- proporcion100(100)
cat("Proporcion de Enfermos s100:", proporcion_100)
## Proporcion de Enfermos s100: 0.53
w100 <- rep(100,1000)
s100 <- sapply(w100, proporcion100)


shapiro.test(s100)
## 
##  Shapiro-Wilk normality test
## 
## data:  s100
## W = 0.99444, p-value = 0.0009486
#install.packages("nortest")
#library(nortest)
lillie.test(s100)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  s100
## D = 0.049023, p-value = 6.469e-06
sf.test(s100)
## 
##  Shapiro-Francia normality test
## 
## data:  s100
## W = 0.99504, p-value = 0.002946
# Dividir la ventana gráfica en dos paneles
par(mfrow = c(1, 2))

# Primera gráfica: Histograma de las muestras con la densidad de las medias muestrales
hist(s100, prob = TRUE, col = "lightblue", border = "black",
     main = "Densidad de Muestras, n = 100", 
     xlab = "Proporción muestral", ylab = "Densidad")
lines(density(s100), col = "blue", lwd = 2)  # Añadir la curva de densidad de las medias

# Segunda gráfica: Gráfico Q-Q de las medias muestrales
qqnorm(s100, main = "Gráfico Q-Q, Medias Muestrales")
qqline(s100, col = "red", lwd = 2)  # Añadir la línea de referencia

#-----------------------------------------

# n=200
set.seed(123)
n200 <- 1000
pob200 <- rbinom(n200,1,0.5) # Población simulada

proporcion200 <- function(s){
      p200 <-  sum(sample(pob200,s)/s)
   return(p200)
   }

proporcion_200 <- proporcion200(200)
cat("Proporcion de Enfermos s200:", proporcion_200)
## Proporcion de Enfermos s200: 0.525
w200 <- rep(200,1000)
s200 <- sapply(w200, proporcion200)


shapiro.test(s200)
## 
##  Shapiro-Wilk normality test
## 
## data:  s200
## W = 0.99707, p-value = 0.06465
#install.packages("nortest")
#library(nortest)
lillie.test(s200)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  s200
## D = 0.039413, p-value = 0.0009113
sf.test(s200)
## 
##  Shapiro-Francia normality test
## 
## data:  s200
## W = 0.99703, p-value = 0.05718
# Dividir la ventana gráfica en dos paneles
par(mfrow = c(1, 2))

# Primera gráfica: Histograma de las muestras con la densidad de las medias muestrales
hist(s200, prob = TRUE, col = "lightblue", border = "black",
     main = "Densidad de Muestras, n = 200", 
     xlab = "Proporción muestral", ylab = "Densidad")
lines(density(s200), col = "blue", lwd = 2)  # Añadir la curva de densidad de las medias

# Segunda gráfica: Gráfico Q-Q de las medias muestrales
qqnorm(s200, main = "Gráfico Q-Q, Medias Muestrales")
qqline(s200, col = "red", lwd = 2)  # Añadir la línea de referencia

#--------------------------------------------------------------------------------

# n = 500
set.seed(123)
n500 <- 1000
pob500 <- rbinom(n500,1,0.5) # Población simulada

proporcion500 <- function(a){
      p500 <-  sum(sample(pob500,a)/a)
   return(p500)
   }

proporcion_500 <- proporcion500(500)
cat("Proporcion de Enfermos s500:", proporcion_500)
## Proporcion de Enfermos s500: 0.49
w500 <- rep(500,1000)
s500 <- sapply(w500, proporcion500)


shapiro.test(s500)
## 
##  Shapiro-Wilk normality test
## 
## data:  s500
## W = 0.99699, p-value = 0.05589
#install.packages("nortest")
#library(nortest)
lillie.test(s500)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  s500
## D = 0.047373, p-value = 1.656e-05
sf.test(s500)
## 
##  Shapiro-Francia normality test
## 
## data:  s500
## W = 0.99715, p-value = 0.0689
# Primera gráfica: Histograma de las muestras con la densidad de las medias muestrales
hist(s500, prob = TRUE, col = "lightblue", border = "black",
     main = "Densidad de Muestras, n = 500", 
     xlab = "Proporción muestral", ylab = "Densidad")
lines(density(s500), col = "blue", lwd = 2)  # Añadir la curva de densidad de las medias

# Segunda gráfica: Gráfico Q-Q de las medias muestrales
qqnorm(s500, main = "Gráfico Q-Q, Medias Muestrales")
qqline(s500, col = "red", lwd = 2)  # Añadir la línea de referencia




Paso e

Repita 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. Concluya sobre los resultados del ejercicio.

10% de Plantas enfermas


set.seed(123)
n <- 1000
pob <- rbinom(n,1,0.1) # Población simulada
   
# Calculo el estimador de la proporción muestral pˆ para un tamaño de muestra dado n

proporcion <- function(m){
      p <-  sum(sample(pob,m)/m)
   return(p)
   }

cat("Proporción de enfermos s5:", proporcion(5))
## Proporción de enfermos s5: 0
#-----------------------------------------------
# n = 5
w <- rep(5,1000)
s1 <- sapply(w, proporcion)


# Ho: s1 tiene distribucion normal.
# Ha: S1 no tiene distribucion normal.
# 
# Si el v-p < alpha : 0.05
# Se rechaza Ho, se acepta Ha como V
#  -> si no es normal
# De lo contrario -> asumimos que si es normal

shapiro.test(s1)
## 
##  Shapiro-Wilk normality test
## 
## data:  s1
## W = 0.67101, p-value < 2.2e-16
#install.packages("nortest")
library(nortest)
lillie.test(s1)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  s1
## D = 0.39337, p-value < 2.2e-16
sf.test(s1)
## 
##  Shapiro-Francia normality test
## 
## data:  s1
## W = 0.67133, p-value < 2.2e-16
# Dividir la ventana gráfica en dos paneles
par(mfrow = c(1, 2))

# Primera gráfica: Histograma de las muestras con la densidad de las medias muestrales
hist(s1, prob = TRUE, col = "lightblue", border = "black",
     main = "Densidad de Muestras, n = 5", 
     xlab = "Proporción muestral", ylab = "Densidad")
lines(density(s1), col = "red", lwd = 2)  # Añadir la curva de densidad de las medias

# Segunda gráfica: Gráfico Q-Q de las medias muestrales
qqnorm(s1, main = "Gráfico Q-Q, Medias Muestrales")
qqline(s1, col = "red", lwd = 2)  # Añadir la línea de referencia

#---------------------------------------------------------------------
# n=10
set.seed(123)
n10 <- 1000
pob10 <- rbinom(n10,1,0.1) # Población simulada

proporcion10 <- function(l){
      p10 <-  sum(sample(pob10,l)/l)
   return(p10)
   }

cat("Proporción de enfermos s10:",proporcion10(10))
## Proporción de enfermos s10: 0.1
w10 <- rep(10,1000)
s10 <- sapply(w10, proporcion10)


shapiro.test(s10)
## 
##  Shapiro-Wilk normality test
## 
## data:  s10
## W = 0.82381, p-value < 2.2e-16
#install.packages("nortest")
#library(nortest)
lillie.test(s10)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  s10
## D = 0.23078, p-value < 2.2e-16
sf.test(s10)
## 
##  Shapiro-Francia normality test
## 
## data:  s10
## W = 0.82402, p-value < 2.2e-16
# Dividir la ventana gráfica en dos paneles
par(mfrow = c(1, 2))

# Primera gráfica: Histograma de las muestras con la densidad de las medias muestrales
hist(s10, prob = TRUE, col = "lightblue", border = "black",
     main = "Densidad de Muestras, n = 10", 
     xlab = "Proporción muestral", ylab = "Densidad")
lines(density(s10), col = "red", lwd = 2)  # Añadir la curva de densidad de las medias

# Segunda gráfica: Gráfico Q-Q de las medias muestrales
qqnorm(s10, main = "Gráfico Q-Q, Medias Muestrales")
qqline(s10, col = "red", lwd = 2)  # Añadir la línea de referencia

#---------------------------------------------------------------------

#n=15
set.seed(123)
n15 <- 1000
pob15 <- rbinom(n15,1,0.1) # Población simulada

proporcion15 <- function(k){
      p15 <-  sum(sample(pob15,k)/k)
   return(p15)
   }

proporcion_15 <- proporcion15(15)
cat("Proporcion de Enfermos s15:", proporcion_15)
## Proporcion de Enfermos s15: 0.1333333
w15 <- rep(15,1000)
s15 <- sapply(w15, proporcion15)

shapiro.test(s15)
## 
##  Shapiro-Wilk normality test
## 
## data:  s15
## W = 0.88528, p-value < 2.2e-16
#install.packages("nortest")
#library(nortest)
lillie.test(s15)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  s15
## D = 0.2207, p-value < 2.2e-16
sf.test(s15)
## 
##  Shapiro-Francia normality test
## 
## data:  s15
## W = 0.88603, p-value < 2.2e-16
# Dividir la ventana gráfica en dos paneles
par(mfrow = c(1, 2))

# Primera gráfica: Histograma de las muestras con la densidad de las medias muestrales
hist(s15, prob = TRUE, col = "lightblue", border = "black",
     main = "Densidad de Muestras, n = 15", 
     xlab = "Proporción muestral", ylab = "Densidad")
lines(density(s15), col = "red", lwd = 2)  # Añadir la curva de densidad de las medias

# Segunda gráfica: Gráfico Q-Q de las medias muestrales
qqnorm(s15, main = "Gráfico Q-Q, Medias Muestrales")
qqline(s15, col = "red", lwd = 2)  # Añadir la línea de referencia

#---------------------------------------------------------------------

# n=20

set.seed(123)
n20 <- 1000
pob20 <- rbinom(n20,1,0.1) # Población simulada

proporcion20 <- function(j){
      p20 <-  sum(sample(pob20,j)/j)
   return(p20)
   }

proporcion_20 <- proporcion20(20)
cat("Proporcion de Enfermos s20:", proporcion_20)
## Proporcion de Enfermos s20: 0.15
w20 <- rep(20,1000)
s20 <- sapply(w20, proporcion20)


shapiro.test(s20)
## 
##  Shapiro-Wilk normality test
## 
## data:  s20
## W = 0.91526, p-value < 2.2e-16
#install.packages("nortest")
#library(nortest)
lillie.test(s20)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  s20
## D = 0.18661, p-value < 2.2e-16
sf.test(s20)
## 
##  Shapiro-Francia normality test
## 
## data:  s20
## W = 0.91601, p-value < 2.2e-16
# Dividir la ventana gráfica en dos paneles
par(mfrow = c(1, 2))

# Primera gráfica: Histograma de las muestras con la densidad de las medias muestrales
hist(s20, prob = TRUE, col = "lightblue", border = "black",
     main = "Densidad de Muestras, n = 20", 
     xlab = "Proporción muestral", ylab = "Densidad")
lines(density(s20), col = "red", lwd = 2)  # Añadir la curva de densidad de las medias

# Segunda gráfica: Gráfico Q-Q de las medias muestrales
qqnorm(s20, main = "Gráfico Q-Q, Medias Muestrales")
qqline(s20, col = "red", lwd = 2)  # Añadir la línea de referencia

#---------------------------------------------------------------------

# n=30
set.seed(123)
n30 <- 1000
pob30 <- rbinom(n30,1,0.1) # Población simulada

proporcion30 <- function(h){
      p30 <-  sum(sample(pob30,h)/h)
   return(p30)
   }

proporcion_30 <- proporcion30(30)
cat("Proporcion de Enfermos s30:", proporcion_30)
## Proporcion de Enfermos s30: 0.1
w30 <- rep(30,1000)
s30 <- sapply(w30, proporcion30)

shapiro.test(s30)
## 
##  Shapiro-Wilk normality test
## 
## data:  s30
## W = 0.94854, p-value < 2.2e-16
#install.packages("nortest")
#library(nortest)
lillie.test(s30)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  s30
## D = 0.1688, p-value < 2.2e-16
sf.test(s30)
## 
##  Shapiro-Francia normality test
## 
## data:  s30
## W = 0.94907, p-value = 2.947e-16
# Dividir la ventana gráfica en dos paneles
par(mfrow = c(1, 2))

# Primera gráfica: Histograma de las muestras con la densidad de las medias muestrales
hist(s30, prob = TRUE, col = "lightblue", border = "black",
     main = "Densidad de Muestras, n = 30", 
     xlab = "Proporción muestral", ylab = "Densidad")
lines(density(s30), col = "red", lwd = 2)  # Añadir la curva de densidad de las medias

# Segunda gráfica: Gráfico Q-Q de las medias muestrales
qqnorm(s30, main = "Gráfico Q-Q, Medias Muestrales")
qqline(s30, col = "red", lwd = 2)  # Añadir la línea de referencia

#---------------------------------------------------------------------

# n=50
set.seed(123)
n50 <- 1000
pob50 <- rbinom(n50,1,0.1) # Población simulada

proporcion50 <- function(g){
      p50 <-  sum(sample(pob50,g)/g)
   return(p50)
   }

proporcion_50 <- proporcion50(50)
cat("Proporcion de Enfermos s50:", proporcion_50)
## Proporcion de Enfermos s50: 0.12
w50 <- rep(50,1000)
s50 <- sapply(w50, proporcion50)

shapiro.test(s50)
## 
##  Shapiro-Wilk normality test
## 
## data:  s50
## W = 0.97129, p-value = 3.674e-13
#install.packages("nortest")
#library(nortest)
lillie.test(s50)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  s50
## D = 0.12322, p-value < 2.2e-16
sf.test(s50)
## 
##  Shapiro-Francia normality test
## 
## data:  s50
## W = 0.97173, p-value = 7.785e-12
# Dividir la ventana gráfica en dos paneles
par(mfrow = c(1, 2))

# Primera gráfica: Histograma de las muestras con la densidad de las medias muestrales
hist(s50, prob = TRUE, col = "lightblue", border = "black",
     main = "Densidad de Muestras, n = 50", 
     xlab = "Proporción muestral", ylab = "Densidad")
lines(density(s50), col = "red", lwd = 2)  # Añadir la curva de densidad de las medias

# Segunda gráfica: Gráfico Q-Q de las medias muestrales
qqnorm(s50, main = "Gráfico Q-Q, Medias Muestrales")
qqline(s50, col = "red", lwd = 2)  # Añadir la línea de referencia

#---------------------------------------------------------------------

# n=60
set.seed(123)
n60 <- 1000
pob60 <- rbinom(n60,1,0.1) # Población simulada

proporcion60 <- function(f){
      p60 <-  sum(sample(pob60,f)/f)
   return(p60)
   }

proporcion_60 <- proporcion60(60)
cat("Proporcion de Enfermos s60:", proporcion_60)
## Proporcion de Enfermos s60: 0.1
w60 <- rep(60,1000)
s60 <- sapply(w60, proporcion60)


shapiro.test(s60)
## 
##  Shapiro-Wilk normality test
## 
## data:  s60
## W = 0.97553, p-value = 6.165e-12
#install.packages("nortest")
#library(nortest)
lillie.test(s60)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  s60
## D = 0.11563, p-value < 2.2e-16
sf.test(s60)
## 
##  Shapiro-Francia normality test
## 
## data:  s60
## W = 0.97577, p-value = 8.382e-11
# Dividir la ventana gráfica en dos paneles
par(mfrow = c(1, 2))

# Primera gráfica: Histograma de las muestras con la densidad de las medias muestrales
hist(s60, prob = TRUE, col = "lightblue", border = "black",
     main = "Densidad de Muestras, n = 60", 
     xlab = "Proporción muestral", ylab = "Densidad")
lines(density(s60), col = "red", lwd = 2)  # Añadir la curva de densidad de las medias

# Segunda gráfica: Gráfico Q-Q de las medias muestrales
qqnorm(s60, main = "Gráfico Q-Q, Medias Muestrales")
qqline(s60, col = "red", lwd = 2)  # Añadir la línea de referencia

#---------------------------------------------------------------------

# n=100
set.seed(123)
n100 <- 1000
pob100 <- rbinom(n100,1,0.1) # Población simulada

proporcion100 <- function(d){
      p100 <-  sum(sample(pob100,d)/d)
   return(p100)
   }

proporcion_100 <- proporcion100(100)
cat("Proporcion de Enfermos s100:", proporcion_100)
## Proporcion de Enfermos s100: 0.1
w100 <- rep(100,1000)
s100 <- sapply(w100, proporcion100)


shapiro.test(s100)
## 
##  Shapiro-Wilk normality test
## 
## data:  s100
## W = 0.98524, p-value = 1.645e-08
#install.packages("nortest")
#library(nortest)
lillie.test(s100)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  s100
## D = 0.089079, p-value < 2.2e-16
sf.test(s100)
## 
##  Shapiro-Francia normality test
## 
## data:  s100
## W = 0.98537, p-value = 8.421e-08
# Dividir la ventana gráfica en dos paneles
par(mfrow = c(1, 2))

# Primera gráfica: Histograma de las muestras con la densidad de las medias muestrales
hist(s100, prob = TRUE, col = "lightblue", border = "black",
     main = "Densidad de Muestras, n = 100", 
     xlab = "Proporción muestral", ylab = "Densidad")
lines(density(s100), col = "red", lwd = 2)  # Añadir la curva de densidad de las medias

# Segunda gráfica: Gráfico Q-Q de las medias muestrales
qqnorm(s100, main = "Gráfico Q-Q, Medias Muestrales")
qqline(s100, col = "red", lwd = 2)  # Añadir la línea de referencia

#-----------------------------------------

# n=200
set.seed(123)
n200 <- 1000
pob200 <- rbinom(n200,1,0.1) # Población simulada

proporcion200 <- function(s){
      p200 <-  sum(sample(pob200,s)/s)
   return(p200)
   }

proporcion_200 <- proporcion200(200)
cat("Proporcion de Enfermos s200:", proporcion_200)
## Proporcion de Enfermos s200: 0.09
w200 <- rep(200,1000)
s200 <- sapply(w200, proporcion200)


shapiro.test(s200)
## 
##  Shapiro-Wilk normality test
## 
## data:  s200
## W = 0.99153, p-value = 1.677e-05
#install.packages("nortest")
#library(nortest)
lillie.test(s200)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  s200
## D = 0.068867, p-value = 4.233e-12
sf.test(s200)
## 
##  Shapiro-Francia normality test
## 
## data:  s200
## W = 0.99171, p-value = 4.264e-05
# Dividir la ventana gráfica en dos paneles
par(mfrow = c(1, 2))

# Primera gráfica: Histograma de las muestras con la densidad de las medias muestrales
hist(s200, prob = TRUE, col = "lightblue", border = "black",
     main = "Densidad de Muestras, n = 200", 
     xlab = "Proporción muestral", ylab = "Densidad")
lines(density(s200), col = "red", lwd = 2)  # Añadir la curva de densidad de las medias

# Segunda gráfica: Gráfico Q-Q de las medias muestrales
qqnorm(s200, main = "Gráfico Q-Q, Medias Muestrales")
qqline(s200, col = "red", lwd = 2)  # Añadir la línea de referencia

#--------------------------------------------------------------------------------

# n = 500
set.seed(123)
n500 <- 1000
pob500 <- rbinom(n500,1,0.1) # Población simulada

proporcion500 <- function(a){
      p500 <-  sum(sample(pob500,a)/a)
   return(p500)
   }

proporcion_500 <- proporcion500(500)
cat("Proporcion de Enfermos s500:", proporcion_500)
## Proporcion de Enfermos s500: 0.09
w500 <- rep(500,1000)
s500 <- sapply(w500, proporcion500)


shapiro.test(s500)
## 
##  Shapiro-Wilk normality test
## 
## data:  s500
## W = 0.99472, p-value = 0.001456
#install.packages("nortest")
#library(nortest)
lillie.test(s500)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  s500
## D = 0.054476, p-value = 2.218e-07
sf.test(s500)
## 
##  Shapiro-Francia normality test
## 
## data:  s500
## W = 0.995, p-value = 0.002809
# Primera gráfica: Histograma de las muestras con la densidad de las medias muestrales
hist(s500, prob = TRUE, col = "lightblue", border = "black",
     main = "Densidad de Muestras, n = 500", 
     xlab = "Proporción muestral", ylab = "Densidad")
lines(density(s500), col = "red", lwd = 2)  # Añadir la curva de densidad de las medias

# Segunda gráfica: Gráfico Q-Q de las medias muestrales
qqnorm(s500, main = "Gráfico Q-Q, Medias Muestrales")
qqline(s500, col = "red", lwd = 2)  # Añadir la línea de referencia




90% de plantas enfermas


set.seed(123)
n <- 1000
pob <- rbinom(n,1,0.9) # Población simulada
   
# Calculo el estimador de la proporción muestral pˆ para un tamaño de muestra dado n

proporcion <- function(m){
      p <-  sum(sample(pob,m)/m)
   return(p)
   }

cat("Proporción de enfermos s5:", proporcion(5))
## Proporción de enfermos s5: 1
#-----------------------------------------------
# n = 5
w <- rep(5,1000)
s1 <- sapply(w, proporcion)


# Ho: s1 tiene distribucion normal.
# Ha: S1 no tiene distribucion normal.
# 
# Si el v-p < alpha : 0.05
# Se rechaza Ho, se acepta Ha como V
#  -> si no es normal
# De lo contrario -> asumimos que si es normal

shapiro.test(s1)
## 
##  Shapiro-Wilk normality test
## 
## data:  s1
## W = 0.67101, p-value < 2.2e-16
#install.packages("nortest")
library(nortest)
lillie.test(s1)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  s1
## D = 0.39337, p-value < 2.2e-16
sf.test(s1)
## 
##  Shapiro-Francia normality test
## 
## data:  s1
## W = 0.67133, p-value < 2.2e-16
# Dividir la ventana gráfica en dos paneles
par(mfrow = c(1, 2))

# Primera gráfica: Histograma de las muestras con la densidad de las medias muestrales
hist(s1, prob = TRUE, col = "lightblue", border = "black",
     main = "Densidad de Muestras, n = 5", 
     xlab = "Proporción muestral", ylab = "Densidad")
lines(density(s1), col = "red4", lwd = 2)  # Añadir la curva de densidad de las medias

# Segunda gráfica: Gráfico Q-Q de las medias muestrales
qqnorm(s1, main = "Gráfico Q-Q, Medias Muestrales")
qqline(s1, col = "red", lwd = 2)  # Añadir la línea de referencia

#---------------------------------------------------------------------
# n=10
set.seed(123)
n10 <- 1000
pob10 <- rbinom(n10,1,0.9) # Población simulada

proporcion10 <- function(l){
      p10 <-  sum(sample(pob10,l)/l)
   return(p10)
   }

cat("Proporción de enfermos s10:",proporcion10(10))
## Proporción de enfermos s10: 0.9
w10 <- rep(10,1000)
s10 <- sapply(w10, proporcion10)


shapiro.test(s10)
## 
##  Shapiro-Wilk normality test
## 
## data:  s10
## W = 0.82381, p-value < 2.2e-16
#install.packages("nortest")
#library(nortest)
lillie.test(s10)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  s10
## D = 0.23078, p-value < 2.2e-16
sf.test(s10)
## 
##  Shapiro-Francia normality test
## 
## data:  s10
## W = 0.82402, p-value < 2.2e-16
# Dividir la ventana gráfica en dos paneles
par(mfrow = c(1, 2))

# Primera gráfica: Histograma de las muestras con la densidad de las medias muestrales
hist(s10, prob = TRUE, col = "lightblue", border = "black",
     main = "Densidad de Muestras, n = 10", 
     xlab = "Proporción muestral", ylab = "Densidad")
lines(density(s10), col = "red4", lwd = 2)  # Añadir la curva de densidad de las medias

# Segunda gráfica: Gráfico Q-Q de las medias muestrales
qqnorm(s10, main = "Gráfico Q-Q, Medias Muestrales")
qqline(s10, col = "red", lwd = 2)  # Añadir la línea de referencia

#---------------------------------------------------------------------

#n=15
set.seed(123)
n15 <- 1000
pob15 <- rbinom(n15,1,0.9) # Población simulada

proporcion15 <- function(k){
      p15 <-  sum(sample(pob15,k)/k)
   return(p15)
   }

proporcion_15 <- proporcion15(15)
cat("Proporcion de Enfermos s15:", proporcion_15)
## Proporcion de Enfermos s15: 0.8666667
w15 <- rep(15,1000)
s15 <- sapply(w15, proporcion15)

shapiro.test(s15)
## 
##  Shapiro-Wilk normality test
## 
## data:  s15
## W = 0.88528, p-value < 2.2e-16
#install.packages("nortest")
#library(nortest)
lillie.test(s15)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  s15
## D = 0.2207, p-value < 2.2e-16
sf.test(s15)
## 
##  Shapiro-Francia normality test
## 
## data:  s15
## W = 0.88603, p-value < 2.2e-16
# Dividir la ventana gráfica en dos paneles
par(mfrow = c(1, 2))

# Primera gráfica: Histograma de las muestras con la densidad de las medias muestrales
hist(s15, prob = TRUE, col = "lightblue", border = "black",
     main = "Densidad de Muestras, n = 15", 
     xlab = "Proporción muestral", ylab = "Densidad")
lines(density(s15), col = "red4", lwd = 2)  # Añadir la curva de densidad de las medias

# Segunda gráfica: Gráfico Q-Q de las medias muestrales
qqnorm(s15, main = "Gráfico Q-Q, Medias Muestrales")
qqline(s15, col = "red", lwd = 2)  # Añadir la línea de referencia

#---------------------------------------------------------------------

# n=20

set.seed(123)
n20 <- 1000
pob20 <- rbinom(n20,1,0.9) # Población simulada

proporcion20 <- function(j){
      p20 <-  sum(sample(pob20,j)/j)
   return(p20)
   }

proporcion_20 <- proporcion20(20)
cat("Proporcion de Enfermos s20:", proporcion_20)
## Proporcion de Enfermos s20: 0.85
w20 <- rep(20,1000)
s20 <- sapply(w20, proporcion20)


shapiro.test(s20)
## 
##  Shapiro-Wilk normality test
## 
## data:  s20
## W = 0.91526, p-value < 2.2e-16
#install.packages("nortest")
#library(nortest)
lillie.test(s20)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  s20
## D = 0.18661, p-value < 2.2e-16
sf.test(s20)
## 
##  Shapiro-Francia normality test
## 
## data:  s20
## W = 0.91601, p-value < 2.2e-16
# Dividir la ventana gráfica en dos paneles
par(mfrow = c(1, 2))

# Primera gráfica: Histograma de las muestras con la densidad de las medias muestrales
hist(s20, prob = TRUE, col = "lightblue", border = "black",
     main = "Densidad de Muestras, n = 20", 
     xlab = "Proporción muestral", ylab = "Densidad")
lines(density(s20), col = "red4", lwd = 2)  # Añadir la curva de densidad de las medias

# Segunda gráfica: Gráfico Q-Q de las medias muestrales
qqnorm(s20, main = "Gráfico Q-Q, Medias Muestrales")
qqline(s20, col = "red", lwd = 2)  # Añadir la línea de referencia

#---------------------------------------------------------------------

# n=30
set.seed(123)
n30 <- 1000
pob30 <- rbinom(n30,1,0.9) # Población simulada

proporcion30 <- function(h){
      p30 <-  sum(sample(pob30,h)/h)
   return(p30)
   }

proporcion_30 <- proporcion30(30)
cat("Proporcion de Enfermos s30:", proporcion_30)
## Proporcion de Enfermos s30: 0.9
w30 <- rep(30,1000)
s30 <- sapply(w30, proporcion30)

shapiro.test(s30)
## 
##  Shapiro-Wilk normality test
## 
## data:  s30
## W = 0.94854, p-value < 2.2e-16
#install.packages("nortest")
#library(nortest)
lillie.test(s30)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  s30
## D = 0.1688, p-value < 2.2e-16
sf.test(s30)
## 
##  Shapiro-Francia normality test
## 
## data:  s30
## W = 0.94907, p-value = 2.947e-16
# Dividir la ventana gráfica en dos paneles
par(mfrow = c(1, 2))

# Primera gráfica: Histograma de las muestras con la densidad de las medias muestrales
hist(s30, prob = TRUE, col = "lightblue", border = "black",
     main = "Densidad de Muestras, n = 30", 
     xlab = "Proporción muestral", ylab = "Densidad")
lines(density(s30), col = "red4", lwd = 2)  # Añadir la curva de densidad de las medias

# Segunda gráfica: Gráfico Q-Q de las medias muestrales
qqnorm(s30, main = "Gráfico Q-Q, Medias Muestrales")
qqline(s30, col = "red", lwd = 2)  # Añadir la línea de referencia

#---------------------------------------------------------------------

# n=50
set.seed(123)
n50 <- 1000
pob50 <- rbinom(n50,1,0.9) # Población simulada

proporcion50 <- function(g){
      p50 <-  sum(sample(pob50,g)/g)
   return(p50)
   }

proporcion_50 <- proporcion50(50)
cat("Proporcion de Enfermos s50:", proporcion_50)
## Proporcion de Enfermos s50: 0.88
w50 <- rep(50,1000)
s50 <- sapply(w50, proporcion50)

shapiro.test(s50)
## 
##  Shapiro-Wilk normality test
## 
## data:  s50
## W = 0.97129, p-value = 3.674e-13
#install.packages("nortest")
#library(nortest)
lillie.test(s50)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  s50
## D = 0.12322, p-value < 2.2e-16
sf.test(s50)
## 
##  Shapiro-Francia normality test
## 
## data:  s50
## W = 0.97173, p-value = 7.785e-12
# Dividir la ventana gráfica en dos paneles
par(mfrow = c(1, 2))

# Primera gráfica: Histograma de las muestras con la densidad de las medias muestrales
hist(s50, prob = TRUE, col = "lightblue", border = "black",
     main = "Densidad de Muestras, n = 50", 
     xlab = "Proporción muestral", ylab = "Densidad")
lines(density(s50), col = "red4", lwd = 2)  # Añadir la curva de densidad de las medias

# Segunda gráfica: Gráfico Q-Q de las medias muestrales
qqnorm(s50, main = "Gráfico Q-Q, Medias Muestrales")
qqline(s50, col = "red", lwd = 2)  # Añadir la línea de referencia

#---------------------------------------------------------------------

# n=60
set.seed(123)
n60 <- 1000
pob60 <- rbinom(n60,1,0.9) # Población simulada

proporcion60 <- function(f){
      p60 <-  sum(sample(pob60,f)/f)
   return(p60)
   }

proporcion_60 <- proporcion60(60)
cat("Proporcion de Enfermos s60:", proporcion_60)
## Proporcion de Enfermos s60: 0.9
w60 <- rep(60,1000)
s60 <- sapply(w60, proporcion60)


shapiro.test(s60)
## 
##  Shapiro-Wilk normality test
## 
## data:  s60
## W = 0.97553, p-value = 6.165e-12
#install.packages("nortest")
#library(nortest)
lillie.test(s60)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  s60
## D = 0.11563, p-value < 2.2e-16
sf.test(s60)
## 
##  Shapiro-Francia normality test
## 
## data:  s60
## W = 0.97577, p-value = 8.382e-11
# Dividir la ventana gráfica en dos paneles
par(mfrow = c(1, 2))

# Primera gráfica: Histograma de las muestras con la densidad de las medias muestrales
hist(s60, prob = TRUE, col = "lightblue", border = "black",
     main = "Densidad de Muestras, n = 60", 
     xlab = "Proporción muestral", ylab = "Densidad")
lines(density(s60), col = "red4", lwd = 2)  # Añadir la curva de densidad de las medias

# Segunda gráfica: Gráfico Q-Q de las medias muestrales
qqnorm(s60, main = "Gráfico Q-Q, Medias Muestrales")
qqline(s60, col = "red", lwd = 2)  # Añadir la línea de referencia

#---------------------------------------------------------------------

# n=100
set.seed(123)
n100 <- 1000
pob100 <- rbinom(n100,1,0.9) # Población simulada

proporcion100 <- function(d){
      p100 <-  sum(sample(pob100,d)/d)
   return(p100)
   }

proporcion_100 <- proporcion100(100)
cat("Proporcion de Enfermos s100:", proporcion_100)
## Proporcion de Enfermos s100: 0.9
w100 <- rep(100,1000)
s100 <- sapply(w100, proporcion100)


shapiro.test(s100)
## 
##  Shapiro-Wilk normality test
## 
## data:  s100
## W = 0.98524, p-value = 1.645e-08
#install.packages("nortest")
#library(nortest)
lillie.test(s100)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  s100
## D = 0.089079, p-value < 2.2e-16
sf.test(s100)
## 
##  Shapiro-Francia normality test
## 
## data:  s100
## W = 0.98537, p-value = 8.421e-08
# Dividir la ventana gráfica en dos paneles
par(mfrow = c(1, 2))

# Primera gráfica: Histograma de las muestras con la densidad de las medias muestrales
hist(s100, prob = TRUE, col = "lightblue", border = "black",
     main = "Densidad de Muestras, n = 100", 
     xlab = "Proporción muestral", ylab = "Densidad")
lines(density(s100), col = "red4", lwd = 2)  # Añadir la curva de densidad de las medias

# Segunda gráfica: Gráfico Q-Q de las medias muestrales
qqnorm(s100, main = "Gráfico Q-Q, Medias Muestrales")
qqline(s100, col = "red", lwd = 2)  # Añadir la línea de referencia

#-----------------------------------------

# n=200
set.seed(123)
n200 <- 1000
pob200 <- rbinom(n200,1,0.9) # Población simulada

proporcion200 <- function(s){
      p200 <-  sum(sample(pob200,s)/s)
   return(p200)
   }

proporcion_200 <- proporcion200(200)
cat("Proporcion de Enfermos s200:", proporcion_200)
## Proporcion de Enfermos s200: 0.91
w200 <- rep(200,1000)
s200 <- sapply(w200, proporcion200)


shapiro.test(s200)
## 
##  Shapiro-Wilk normality test
## 
## data:  s200
## W = 0.99153, p-value = 1.677e-05
#install.packages("nortest")
#library(nortest)
lillie.test(s200)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  s200
## D = 0.068867, p-value = 4.233e-12
sf.test(s200)
## 
##  Shapiro-Francia normality test
## 
## data:  s200
## W = 0.99171, p-value = 4.264e-05
# Dividir la ventana gráfica en dos paneles
par(mfrow = c(1, 2))

# Primera gráfica: Histograma de las muestras con la densidad de las medias muestrales
hist(s200, prob = TRUE, col = "lightblue", border = "black",
     main = "Densidad de Muestras, n = 200", 
     xlab = "Proporción muestral", ylab = "Densidad")
lines(density(s200), col = "red4", lwd = 2)  # Añadir la curva de densidad de las medias

# Segunda gráfica: Gráfico Q-Q de las medias muestrales
qqnorm(s200, main = "Gráfico Q-Q, Medias Muestrales")
qqline(s200, col = "red", lwd = 2)  # Añadir la línea de referencia

#--------------------------------------------------------------------------------

# n = 500
set.seed(123)
n500 <- 1000
pob500 <- rbinom(n500,1,0.9) # Población simulada

proporcion500 <- function(a){
      p500 <-  sum(sample(pob500,a)/a)
   return(p500)
   }

proporcion_500 <- proporcion500(500)
cat("Proporcion de Enfermos s500:", proporcion_500)
## Proporcion de Enfermos s500: 0.91
w500 <- rep(500,1000)
s500 <- sapply(w500, proporcion500)


shapiro.test(s500)
## 
##  Shapiro-Wilk normality test
## 
## data:  s500
## W = 0.99472, p-value = 0.001456
#install.packages("nortest")
#library(nortest)
lillie.test(s500)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  s500
## D = 0.054476, p-value = 2.218e-07
sf.test(s500)
## 
##  Shapiro-Francia normality test
## 
## data:  s500
## W = 0.995, p-value = 0.002809
# Primera gráfica: Histograma de las muestras con la densidad de las medias muestrales
hist(s500, prob = TRUE, col = "lightblue", border = "black",
     main = "Densidad de Muestras, n = 500", 
     xlab = "Proporción muestral", ylab = "Densidad")
lines(density(s500), col = "red4", lwd = 2)  # Añadir la curva de densidad de las medias

# Segunda gráfica: Gráfico Q-Q de las medias muestrales
qqnorm(s500, main = "Gráfico Q-Q, Medias Muestrales")
qqline(s500, col = "red", lwd = 2)  # Añadir la línea de referencia




Conclusiones y Comentarios: