Inferencia estadística y simulación

1. 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.

a. Realice una simulación en la cual genere una población de N=1000 (Lote) y además que el porcentaje de individuos (plantas) enfermas sea del 50%.

Lote =c(rep("enferma",500),rep("sana",500))

b. Genere una función que permita obtener una muestra aleatoria de la población y calcule el estimador de la proporción muestral para un tamaño de muestra dado n.

calc_p_gorro=function(n){

muestra=sample(Lote,size = n)
p_gorro=sum(muestra=="enferma")/n
return(p_gorro)

}

calc_p_gorro(n = 100)
## [1] 0.56

c. Repita el escenario anterior (b) 500 veces y analice los resultados en cuanto al comportamiento de los 500 estimadores. ¿Qué tan simétricos son los datos?, ¿Son sesgados y qué pasa en cuanto a variabilidad?

Repite_p_gorro = sapply(rep(100,500),calc_p_gorro)

hist(Repite_p_gorro, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones", col = "dodgerblue4")
abline(v=0.5,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_p_gorro),sd(Repite_p_gorro)), add = TRUE, lwd = 3, col = "powderblue")

summary(Repite_p_gorro)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.3500  0.4675  0.5000  0.4992  0.5300  0.6900
sd(Repite_p_gorro)
## [1] 0.04786169

Análisis: En la gráfica se puede observar que existe una distribución simétrica. De acuerdo a los cálculos se puede observar que la media y la mediana están muy cercanos y el valor de la desviación estándar tiene tendencia a cero.

d. Realice los ejercicios completos b y c para tamaños de muestra n=5, 10, 15, 20, 30, 50,60, 100, 200, 500. Y compare los resultados de los estimadores en cuanto a la normalidad. Investigue y utilice pruebas de bondad y ajuste (shapiro wilks) y métodos gráficos (grafico qq de normalidad).

Para n = 5

Repite_p_gorro = sapply(rep(5,500),calc_p_gorro)

hist(Repite_p_gorro, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 5", col = "dodgerblue4")
abline(v=0.5,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_p_gorro),sd(Repite_p_gorro)), add = TRUE, lwd = 3, col = "powderblue")

summary(Repite_p_gorro)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0000  0.4000  0.4000  0.5032  0.6000  1.0000
sd(Repite_p_gorro)
## [1] 0.2176338
shapiro.test(Repite_p_gorro)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_p_gorro
## W = 0.9265, p-value = 6.24e-15
qqnorm(Repite_p_gorro, col = "darkslateblue", main = "QQ Normal 500 repeticiones n = 5")

Para n = 10

Repite_p_gorro = sapply(rep(10,500),calc_p_gorro)

hist(Repite_p_gorro, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 10", col = "dodgerblue4")
abline(v=0.5,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_p_gorro),sd(Repite_p_gorro)), add = TRUE, lwd = 3, col = "powderblue")

summary(Repite_p_gorro)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.1000  0.4000  0.5000  0.4882  0.6000  0.9000
sd(Repite_p_gorro)
## [1] 0.1609116
shapiro.test(Repite_p_gorro)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_p_gorro
## W = 0.96329, p-value = 7.602e-10
qqnorm(Repite_p_gorro, col = "darkslateblue", main = "QQ Normal 500 repeticiones n = 10")

#### Para n = 15

Repite_p_gorro = sapply(rep(15,500),calc_p_gorro)

hist(Repite_p_gorro, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 15", col = "dodgerblue4")
abline(v=0.5,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_p_gorro),sd(Repite_p_gorro)), add = TRUE, lwd = 3, col = "powderblue")

summary(Repite_p_gorro)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
## 0.06667 0.40000 0.46667 0.49787 0.60000 0.86667
sd(Repite_p_gorro)
## [1] 0.1212452
shapiro.test(Repite_p_gorro)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_p_gorro
## W = 0.96905, p-value = 8.908e-09
qqnorm(Repite_p_gorro, col = "darkslateblue", main = "QQ Normal 500 repeticiones n = 15")

Para n = 20

Repite_p_gorro = sapply(rep(20,500),calc_p_gorro)

hist(Repite_p_gorro, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 20", col = "dodgerblue4")
abline(v=0.5,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_p_gorro),sd(Repite_p_gorro)), add = TRUE, lwd = 3, col = "powderblue")

summary(Repite_p_gorro)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.1000  0.4375  0.5000  0.4972  0.5500  0.8500
sd(Repite_p_gorro)
## [1] 0.1062296
shapiro.test(Repite_p_gorro)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_p_gorro
## W = 0.97945, p-value = 1.681e-06
qqnorm(Repite_p_gorro, col = "darkslateblue", main = "QQ Normal 500 repeticiones n = 20")

Para n = 30

Repite_p_gorro = sapply(rep(30,500),calc_p_gorro)

hist(Repite_p_gorro, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 30", col = "dodgerblue4")
abline(v=0.5,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_p_gorro),sd(Repite_p_gorro)), add = TRUE, lwd = 3, col = "powderblue")

summary(Repite_p_gorro)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.2333  0.4333  0.5000  0.5003  0.5667  0.8333
sd(Repite_p_gorro)
## [1] 0.09070532
shapiro.test(Repite_p_gorro)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_p_gorro
## W = 0.98666, p-value = 0.0001543
qqnorm(Repite_p_gorro, col = "darkslateblue", main = "QQ Normal 500 repeticiones n = 30")

Para n = 50

Repite_p_gorro = sapply(rep(50,500),calc_p_gorro)

hist(Repite_p_gorro, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 50", col = "dodgerblue4")
abline(v=0.5,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_p_gorro),sd(Repite_p_gorro)), add = TRUE, lwd = 3, col = "powderblue")

summary(Repite_p_gorro)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.2400  0.4600  0.5000  0.4999  0.5400  0.7000
sd(Repite_p_gorro)
## [1] 0.06893976
shapiro.test(Repite_p_gorro)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_p_gorro
## W = 0.99016, p-value = 0.00201
qqnorm(Repite_p_gorro, col = "darkslateblue", main = "QQ Normal 500 repeticiones n = 50")

Para n = 60

Repite_p_gorro = sapply(rep(60,500),calc_p_gorro)

hist(Repite_p_gorro, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 60", col = "dodgerblue4")
abline(v=0.5,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_p_gorro),sd(Repite_p_gorro)), add = TRUE, lwd = 3, col = "powderblue")

summary(Repite_p_gorro)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.3333  0.4500  0.5000  0.5005  0.5333  0.7167
sd(Repite_p_gorro)
## [1] 0.05967704
shapiro.test(Repite_p_gorro)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_p_gorro
## W = 0.99101, p-value = 0.003905
qqnorm(Repite_p_gorro, col = "darkslateblue", main = "QQ Normal 500 repeticiones n = 60")

Para n = 100

Repite_p_gorro = sapply(rep(100,500),calc_p_gorro)

hist(Repite_p_gorro, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 100", col = "dodgerblue4")
abline(v=0.5,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_p_gorro),sd(Repite_p_gorro)), add = TRUE, lwd = 3, col = "powderblue")

summary(Repite_p_gorro)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.3500  0.4600  0.5000  0.4975  0.5300  0.6200
sd(Repite_p_gorro)
## [1] 0.04707528
shapiro.test(Repite_p_gorro)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_p_gorro
## W = 0.99303, p-value = 0.02023
qqnorm(Repite_p_gorro, col = "darkslateblue", main = "QQ Normal 500 repeticiones n = 100")

Para n = 200

Repite_p_gorro = sapply(rep(200,500),calc_p_gorro)

hist(Repite_p_gorro, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 200", col = "dodgerblue4")
abline(v=0.5,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_p_gorro),sd(Repite_p_gorro)), add = TRUE, lwd = 3, col = "powderblue")

summary(Repite_p_gorro)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.4150  0.4750  0.5000  0.4989  0.5200  0.5800
sd(Repite_p_gorro)
## [1] 0.03077219
shapiro.test(Repite_p_gorro)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_p_gorro
## W = 0.99406, p-value = 0.04805
qqnorm(Repite_p_gorro, col = "darkslateblue", main = "QQ Normal 500 repeticiones n = 200")

Para n = 500

Repite_p_gorro = sapply(rep(500,500),calc_p_gorro)

hist(Repite_p_gorro, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 500", col = "dodgerblue4")
abline(v=0.5,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_p_gorro),sd(Repite_p_gorro)), add = TRUE, lwd = 3, col = "powderblue")

summary(Repite_p_gorro)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.4440  0.4900  0.5020  0.5001  0.5105  0.5480
sd(Repite_p_gorro)
## [1] 0.0161963
shapiro.test(Repite_p_gorro)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_p_gorro
## W = 0.996, p-value = 0.2381
qqnorm(Repite_p_gorro, col = "darkslateblue", main = "QQ Normal 500 repeticiones n = 500")

Análisis: Entre más grande sea la muestra de datos se acerca al porcentaje de probabilidad real. Observando las gráficas se evidencia que hay una tendencia a cero y las distribuciones son simétricas.

e. Repita toda la simulación (puntos a – d) pero ahora con lotes con 10% y 90% de plantas enfermas. Concluya todo el ejercicio.

Creación de lote con el 10% enfermo

Lote2 =c(rep("enferma",100),rep("sana",900))

calc_p_gorro2=function(n){

muestra=sample(Lote2,size = n)
p_gorro=sum(muestra=="enferma")/n
return(p_gorro)

}

Para n = 5

Repite_p_gorro2 = sapply(rep(5,500),calc_p_gorro2)

hist(Repite_p_gorro2, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 5", col = "dodgerblue4")
abline(v=0.1,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_p_gorro2),sd(Repite_p_gorro2)), add = TRUE, lwd = 3, col = "powderblue")

summary(Repite_p_gorro2)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0000  0.0000  0.0000  0.1024  0.2000  0.6000
sd(Repite_p_gorro2)
## [1] 0.1348726
shapiro.test(Repite_p_gorro2)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_p_gorro2
## W = 0.71343, p-value < 2.2e-16
qqnorm(Repite_p_gorro2, col = "darkslateblue", main = "QQ Normal 500 repeticiones n = 5")

Para n = 10

Repite_p_gorro2 = sapply(rep(10,500),calc_p_gorro2)

hist(Repite_p_gorro2, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 10", col = "dodgerblue4")
abline(v=0.1,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_p_gorro2),sd(Repite_p_gorro2)), add = TRUE, lwd = 3, col = "powderblue")

summary(Repite_p_gorro2)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0000  0.0000  0.1000  0.0998  0.2000  0.5000
sd(Repite_p_gorro2)
## [1] 0.09443408
shapiro.test(Repite_p_gorro2)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_p_gorro2
## W = 0.83626, p-value < 2.2e-16
qqnorm(Repite_p_gorro2, col = "darkslateblue", main = "QQ Normal 500 repeticiones n = 10")

Para n = 15

Repite_p_gorro2 = sapply(rep(15,500),calc_p_gorro2)

hist(Repite_p_gorro2, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 15", col = "dodgerblue4")
abline(v=0.1,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_p_gorro2),sd(Repite_p_gorro2)), add = TRUE, lwd = 3, col = "powderblue")

summary(Repite_p_gorro2)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
## 0.00000 0.06667 0.06667 0.09627 0.13333 0.40000
sd(Repite_p_gorro2)
## [1] 0.07391655
shapiro.test(Repite_p_gorro2)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_p_gorro2
## W = 0.88097, p-value < 2.2e-16
qqnorm(Repite_p_gorro2, col = "darkslateblue", main = "QQ Normal 500 repeticiones n = 15")

Para n = 20

Repite_p_gorro2 = sapply(rep(20,500),calc_p_gorro2)

hist(Repite_p_gorro2, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 20", col = "dodgerblue4")
abline(v=0.1,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_p_gorro2),sd(Repite_p_gorro2)), add = TRUE, lwd = 3, col = "powderblue")

summary(Repite_p_gorro2)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0000  0.0500  0.1000  0.0958  0.1500  0.3000
sd(Repite_p_gorro2)
## [1] 0.06790864
shapiro.test(Repite_p_gorro2)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_p_gorro2
## W = 0.92491, p-value = 4.162e-15
qqnorm(Repite_p_gorro2, col = "darkslateblue", main = "QQ Normal 500 repeticiones n = 20")

Para n = 30

Repite_p_gorro2 = sapply(rep(30,500),calc_p_gorro2)

hist(Repite_p_gorro2, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 30", col = "dodgerblue4")
abline(v=0.1,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_p_gorro2),sd(Repite_p_gorro2)), add = TRUE, lwd = 3, col = "powderblue")

summary(Repite_p_gorro2)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
## 0.00000 0.06667 0.10000 0.09920 0.13333 0.30000
sd(Repite_p_gorro2)
## [1] 0.05350573
shapiro.test(Repite_p_gorro2)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_p_gorro2
## W = 0.94736, p-value = 2.446e-12
qqnorm(Repite_p_gorro2, col = "darkslateblue", main = "QQ Normal 500 repeticiones n = 30")

Para n = 50

Repite_p_gorro2 = sapply(rep(50,500),calc_p_gorro2)

hist(Repite_p_gorro2, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 50", col = "dodgerblue4")
abline(v=0.1,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_p_gorro2),sd(Repite_p_gorro2)), add = TRUE, lwd = 3, col = "powderblue")

summary(Repite_p_gorro2)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   0.000   0.080   0.100   0.102   0.120   0.240
sd(Repite_p_gorro2)
## [1] 0.04038093
shapiro.test(Repite_p_gorro2)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_p_gorro2
## W = 0.97298, p-value = 5.61e-08
qqnorm(Repite_p_gorro2, col = "darkslateblue", main = "QQ Normal 500 repeticiones n = 50")

Para n = 60

Repite_p_gorro2 = sapply(rep(60,500),calc_p_gorro2)

hist(Repite_p_gorro2, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 60", col = "dodgerblue4")
abline(v=0.1,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_p_gorro2),sd(Repite_p_gorro2)), add = TRUE, lwd = 3, col = "powderblue")

summary(Repite_p_gorro2)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
## 0.00000 0.06667 0.10000 0.10163 0.13333 0.21667
sd(Repite_p_gorro2)
## [1] 0.0384239
shapiro.test(Repite_p_gorro2)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_p_gorro2
## W = 0.97892, p-value = 1.247e-06
qqnorm(Repite_p_gorro2, col = "darkslateblue", main = "QQ Normal 500 repeticiones n = 60")

Para n = 100

Repite_p_gorro2 = sapply(rep(100,500),calc_p_gorro2)

hist(Repite_p_gorro2, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 100", col = "dodgerblue4")
abline(v=0.1,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_p_gorro2),sd(Repite_p_gorro2)), add = TRUE, lwd = 3, col = "powderblue")

summary(Repite_p_gorro2)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
## 0.02000 0.08000 0.10000 0.09876 0.12000 0.19000
sd(Repite_p_gorro2)
## [1] 0.02821444
shapiro.test(Repite_p_gorro2)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_p_gorro2
## W = 0.9877, p-value = 0.00032
qqnorm(Repite_p_gorro2, col = "darkslateblue", main = "QQ Normal 500 repeticiones n = 100")

Para n = 200

Repite_p_gorro2 = sapply(rep(200,500),calc_p_gorro2)

hist(Repite_p_gorro2, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 200", col = "dodgerblue4")
abline(v=0.1,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_p_gorro2),sd(Repite_p_gorro2)), add = TRUE, lwd = 3, col = "powderblue")

summary(Repite_p_gorro2)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0400  0.0900  0.1000  0.1001  0.1100  0.1650
sd(Repite_p_gorro2)
## [1] 0.01918671
shapiro.test(Repite_p_gorro2)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_p_gorro2
## W = 0.99195, p-value = 0.008302
qqnorm(Repite_p_gorro2, col = "darkslateblue", main = "QQ Normal 500 repeticiones n = 200")

Para n = 500

Repite_p_gorro2 = sapply(rep(500,500),calc_p_gorro2)

hist(Repite_p_gorro2, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 500", col = "dodgerblue4")
abline(v=0.1,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_p_gorro2),sd(Repite_p_gorro2)), add = TRUE, lwd = 3, col = "powderblue")

summary(Repite_p_gorro2)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
## 0.06800 0.09400 0.09900 0.09955 0.10600 0.13600
sd(Repite_p_gorro2)
## [1] 0.009548909
shapiro.test(Repite_p_gorro2)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_p_gorro2
## W = 0.99322, p-value = 0.0237
qqnorm(Repite_p_gorro2, col = "darkslateblue", main = "QQ Normal 500 repeticiones n = 500")

Creación de lote con el 90% enfermo

Lote3 =c(rep("enferma",900),rep("sana",100))

calc_p_gorro3=function(n){

muestra=sample(Lote3,size = n)
p_gorro=sum(muestra=="enferma")/n
return(p_gorro)

}

Para n = 5

Repite_p_gorro3 = sapply(rep(5,500),calc_p_gorro3)

hist(Repite_p_gorro3, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 5", col = "dodgerblue4")
abline(v=0.9,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_p_gorro3),sd(Repite_p_gorro3)), add = TRUE, lwd = 3, col = "powderblue")

summary(Repite_p_gorro3)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   0.400   0.800   1.000   0.904   1.000   1.000
sd(Repite_p_gorro3)
## [1] 0.1223681
shapiro.test(Repite_p_gorro3)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_p_gorro3
## W = 0.70412, p-value < 2.2e-16
qqnorm(Repite_p_gorro3, col = "darkslateblue", main = "QQ Normal 500 repeticiones n = 5")

#### Para n = 10

Repite_p_gorro3 = sapply(rep(10,500),calc_p_gorro3)

hist(Repite_p_gorro3, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 10", col = "dodgerblue4")
abline(v=0.9,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_p_gorro3),sd(Repite_p_gorro3)), add = TRUE, lwd = 3, col = "powderblue")

summary(Repite_p_gorro3)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   0.500   0.800   0.900   0.897   1.000   1.000
sd(Repite_p_gorro3)
## [1] 0.09607007
shapiro.test(Repite_p_gorro3)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_p_gorro3
## W = 0.84518, p-value < 2.2e-16
qqnorm(Repite_p_gorro3, col = "darkslateblue", main = "QQ Normal 500 repeticiones n = 10")

Para n = 15

Repite_p_gorro3 = sapply(rep(15,500),calc_p_gorro3)

hist(Repite_p_gorro3, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 15", col = "dodgerblue4")
abline(v=0.9,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_p_gorro3),sd(Repite_p_gorro3)), add = TRUE, lwd = 3, col = "powderblue")

summary(Repite_p_gorro3)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.5333  0.8667  0.9333  0.8984  0.9333  1.0000
sd(Repite_p_gorro3)
## [1] 0.08392042
shapiro.test(Repite_p_gorro3)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_p_gorro3
## W = 0.8906, p-value < 2.2e-16
qqnorm(Repite_p_gorro3, col = "darkslateblue", main = "QQ Normal 500 repeticiones n = 15")

Para n = 20

Repite_p_gorro3 = sapply(rep(20,500),calc_p_gorro3)

hist(Repite_p_gorro3, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 20", col = "dodgerblue4")
abline(v=0.9,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_p_gorro3),sd(Repite_p_gorro3)), add = TRUE, lwd = 3, col = "powderblue")

summary(Repite_p_gorro3)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.6500  0.8500  0.9000  0.8989  0.9500  1.0000
sd(Repite_p_gorro3)
## [1] 0.06952307
shapiro.test(Repite_p_gorro3)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_p_gorro3
## W = 0.9247, p-value = 3.947e-15
qqnorm(Repite_p_gorro3, col = "darkslateblue", main = "QQ Normal 500 repeticiones n = 20")

Para n = 30

Repite_p_gorro3 = sapply(rep(30,500),calc_p_gorro3)

hist(Repite_p_gorro3, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 30", col = "dodgerblue4")
abline(v=0.9,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_p_gorro3),sd(Repite_p_gorro3)), add = TRUE, lwd = 3, col = "powderblue")

summary(Repite_p_gorro3)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.7000  0.8667  0.9000  0.9018  0.9333  1.0000
sd(Repite_p_gorro3)
## [1] 0.05316821
shapiro.test(Repite_p_gorro3)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_p_gorro3
## W = 0.95268, p-value = 1.442e-11
qqnorm(Repite_p_gorro3, col = "darkslateblue", main = "QQ Normal 500 repeticiones n = 30")

Para n = 50

Repite_p_gorro3 = sapply(rep(50,500),calc_p_gorro3)

hist(Repite_p_gorro3, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 50", col = "dodgerblue4")
abline(v=0.9,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_p_gorro3),sd(Repite_p_gorro3)), add = TRUE, lwd = 3, col = "powderblue")

summary(Repite_p_gorro3)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   0.720   0.880   0.900   0.901   0.920   1.000
sd(Repite_p_gorro3)
## [1] 0.04127963
shapiro.test(Repite_p_gorro3)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_p_gorro3
## W = 0.97008, p-value = 1.426e-08
qqnorm(Repite_p_gorro3, col = "darkslateblue", main = "QQ Normal 500 repeticiones n = 50")

Para n = 60

Repite_p_gorro3 = sapply(rep(60,500),calc_p_gorro3)

hist(Repite_p_gorro3, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 60", col = "dodgerblue4")
abline(v=0.9,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_p_gorro3),sd(Repite_p_gorro3)), add = TRUE, lwd = 3, col = "powderblue")

summary(Repite_p_gorro3)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.7833  0.8833  0.9000  0.8987  0.9333  0.9833
sd(Repite_p_gorro3)
## [1] 0.037424
shapiro.test(Repite_p_gorro3)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_p_gorro3
## W = 0.97684, p-value = 4.004e-07
qqnorm(Repite_p_gorro3, col = "darkslateblue", main = "QQ Normal 500 repeticiones n = 60")

Para n = 100

Repite_p_gorro3 = sapply(rep(100,500),calc_p_gorro3)

hist(Repite_p_gorro3, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 100", col = "dodgerblue4")
abline(v=0.9,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_p_gorro3),sd(Repite_p_gorro3)), add = TRUE, lwd = 3, col = "powderblue")

summary(Repite_p_gorro3)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.8000  0.8800  0.9000  0.9011  0.9200  0.9700
sd(Repite_p_gorro3)
## [1] 0.02888892
shapiro.test(Repite_p_gorro3)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_p_gorro3
## W = 0.98532, p-value = 6.177e-05
qqnorm(Repite_p_gorro3, col = "darkslateblue", main = "QQ Normal 500 repeticiones n = 100")

Para n = 200

Repite_p_gorro3 = sapply(rep(200,500),calc_p_gorro3)

hist(Repite_p_gorro3, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 200", col = "dodgerblue4")
abline(v=0.9,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_p_gorro3),sd(Repite_p_gorro3)), add = TRUE, lwd = 3, col = "powderblue")

summary(Repite_p_gorro3)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.8350  0.8850  0.9000  0.8996  0.9150  0.9550
sd(Repite_p_gorro3)
## [1] 0.0193924
shapiro.test(Repite_p_gorro3)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_p_gorro3
## W = 0.99134, p-value = 0.005078
qqnorm(Repite_p_gorro3, col = "darkslateblue", main = "QQ Normal 500 repeticiones n = 200")

Para n = 500

Repite_p_gorro3 = sapply(rep(500,500),calc_p_gorro3)

hist(Repite_p_gorro3, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 500", col = "dodgerblue4")
abline(v=0.9,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_p_gorro3),sd(Repite_p_gorro3)), add = TRUE, lwd = 3, col = "powderblue")

summary(Repite_p_gorro3)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.8720  0.8940  0.9000  0.9005  0.9060  0.9320
sd(Repite_p_gorro3)
## [1] 0.009287761
shapiro.test(Repite_p_gorro3)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_p_gorro3
## W = 0.99376, p-value = 0.0373
qqnorm(Repite_p_gorro3, col = "darkslateblue", main = "QQ Normal 500 repeticiones n = 500")

2. La comparación de tratamientos es una práctica fundamental en las ciencias agropecuarias y para esto a nivel estadístico se cuenta con algunas herramientas para apoyar el proceso de toma de decisiones y lograr concluir con algún grado de confianza que los resultados observados en una muestra son representativos y se pueden asociar a los tratamientos y no se deben únicamente al azar. Por medio una simulación validemos algunos de estos resultados.

a. Suponga un escenario en el cual usted aplicó tratamientos diferentes a dos lotes y desea analizar si alguno de los dos presenta un mejor desempeño en el control de una plaga presente en ambos al momento inicial. Para ello utilizará como criterio de desempeño el tratamiento que menor % de plantas enfermas presente después de un tiempo de aplicación (es decir, si se presentan o no diferencias en las proporciones de enfermos P1 y P2). Realice una simulación en la cual genere dos poblaciones de N1=1000 (Lote1) y N2=1500 (Lote2), además asuma que el porcentaje de individuos (plantas) enfermas en ambos lotes sea la misma 10% (es decir, sin diferencias entre los tratamientos).

N1 = c(rep("Enferma",100),rep("Sana",900))
N2 = c(rep("Enferma",150),rep("Sana",1350))

b. Genere una función que permita obtener una muestra aleatoria de los lotes y calcule el estimador de la proporción muestral para cada lote (p1 y p2) para un tamaño de muestra dado n1=n2. Calcule la diferencia entre los estimadores p1-p2.

calc_dif =function(n){

muestra1=sample(N1,size = n)
p1=sum(muestra1=="Enferma")/n

muestra2=sample(N2,size = n)
p2=sum(muestra2=="Enferma")/n


dif = p1-p2

return(dif)

}

calc_dif(n = 100)
## [1] -0.01

c. Repita el escenario anterior (b) 500 veces y analice los resultados en cuanto al comportamiento de los 500 estimadores (diferencias p1-p2). ¿Qué tan simétricos son los datos?, ¿Son siempre cero las diferencias?

Repite_Dif_p = sapply(rep(100,500),calc_dif)

hist(Repite_Dif_p, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones", col = "gold3")
abline(v=0,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_Dif_p),sd(Repite_Dif_p)), add = TRUE, lwd = 3, col = "blue4")

summary(Repite_Dif_p)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
## -0.1000 -0.0200  0.0000  0.0005  0.0200  0.1200
sd(Repite_Dif_p)
## [1] 0.03669664
table(Repite_Dif_p==0)
## 
## FALSE  TRUE 
##   436    64

Análisis: En la gráfica se puede observar que los datos no son totalmente simétricos y las diferencias no siempre son cero.

d. Realice los puntos b y c para tamaños de muestra n1=n2=5, 10, 15, 20, 30, 50, 60, 100,200, 500. Y compare los resultados de los estimadores (p1-p2) en cuanto a la normalidad. También analice el comportamiento de las diferencias y evalúe. ¿Considera que es más probable concluir que existen diferencias entre los tratamientos con muestras grandes que pequeñas, es decir, cuál considera usted que es el efecto del tamaño de muestra en el caso de la comparación de proporciones?

Para n = 5

Repite_Dif_p = sapply(rep(5,500),calc_dif)

hist(Repite_Dif_p, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 5", col = "gold3")
abline(v=0,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_Dif_p),sd(Repite_Dif_p)), add = TRUE, lwd = 3, col = "blue4")

summary(Repite_Dif_p)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
## -0.6000 -0.2000  0.0000  0.0064  0.2000  0.4000
sd(Repite_Dif_p)
## [1] 0.1846815
shapiro.test(Repite_Dif_p)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_Dif_p
## W = 0.89973, p-value < 2.2e-16
table(Repite_Dif_p==0)
## 
## FALSE  TRUE 
##   281   219
qqnorm(Repite_Dif_p, col = "gold4", main = "QQ Normal 500 repeticiones n = 5")

Para n = 10

Repite_Dif_p = sapply(rep(10,500),calc_dif)

hist(Repite_Dif_p, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 10", col = "gold3")
abline(v=0,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_Dif_p),sd(Repite_Dif_p)), add = TRUE, lwd = 3, col = "blue4")

summary(Repite_Dif_p)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  -0.400  -0.100   0.000  -0.006   0.100   0.400
sd(Repite_Dif_p)
## [1] 0.133865
shapiro.test(Repite_Dif_p)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_Dif_p
## W = 0.94519, p-value = 1.227e-12
table(Repite_Dif_p==0)
## 
## FALSE  TRUE 
##   349   151
qqnorm(Repite_Dif_p, col = "gold4", main = "QQ Normal 500 repeticiones n = 10")

Para n = 15

Repite_Dif_p = sapply(rep(15,500),calc_dif)

hist(Repite_Dif_p, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 15", col = "gold3")
abline(v=0,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_Dif_p),sd(Repite_Dif_p)), add = TRUE, lwd = 3, col = "blue4")

summary(Repite_Dif_p)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
## -0.26667 -0.06667  0.00000 -0.00680  0.06667  0.26667
sd(Repite_Dif_p)
## [1] 0.1057592
shapiro.test(Repite_Dif_p)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_Dif_p
## W = 0.96341, p-value = 7.985e-10
table(Repite_Dif_p==0)
## 
## FALSE  TRUE 
##   363   137
qqnorm(Repite_Dif_p, col = "gold4", main = "QQ Normal 500 repeticiones n = 15")

Para n = 20

Repite_Dif_p = sapply(rep(20,500),calc_dif)

hist(Repite_Dif_p, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 20", col = "gold3")
abline(v=0,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_Dif_p),sd(Repite_Dif_p)), add = TRUE, lwd = 3, col = "blue4")

summary(Repite_Dif_p)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  -0.350  -0.050   0.000  -0.003   0.050   0.300
sd(Repite_Dif_p)
## [1] 0.09523202
shapiro.test(Repite_Dif_p)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_Dif_p
## W = 0.97567, p-value = 2.175e-07
table(Repite_Dif_p==0)
## 
## FALSE  TRUE 
##   395   105
qqnorm(Repite_Dif_p, col = "gold4", main = "QQ Normal 500 repeticiones n = 20")

Para n = 30

Repite_Dif_p = sapply(rep(30,500),calc_dif)

hist(Repite_Dif_p, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 30", col = "gold3")
abline(v=0,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_Dif_p),sd(Repite_Dif_p)), add = TRUE, lwd = 3, col = "blue4")

summary(Repite_Dif_p)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
## -0.20000 -0.03333  0.00000  0.00200  0.06667  0.23333
sd(Repite_Dif_p)
## [1] 0.07458338
shapiro.test(Repite_Dif_p)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_Dif_p
## W = 0.98076, p-value = 3.583e-06
table(Repite_Dif_p==0)
## 
## FALSE  TRUE 
##   409    91
qqnorm(Repite_Dif_p, col = "gold4", main = "QQ Normal 500 repeticiones n = 30")

Para n = 50

Repite_Dif_p = sapply(rep(50,500),calc_dif)

hist(Repite_Dif_p, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 50", col = "gold3")
abline(v=0,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_Dif_p),sd(Repite_Dif_p)), add = TRUE, lwd = 3, col = "blue4")

summary(Repite_Dif_p)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
## -0.16000 -0.04000  0.00000  0.00284  0.04000  0.18000
sd(Repite_Dif_p)
## [1] 0.05811272
shapiro.test(Repite_Dif_p)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_Dif_p
## W = 0.98664, p-value = 0.0001519
table(Repite_Dif_p==0)
## 
## FALSE  TRUE 
##   418    82
qqnorm(Repite_Dif_p, col = "gold4", main = "QQ Normal 500 repeticiones n = 50")

Para n = 60

Repite_Dif_p = sapply(rep(60,500),calc_dif)

hist(Repite_Dif_p, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 60", col = "gold3")
abline(v=0,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_Dif_p),sd(Repite_Dif_p)), add = TRUE, lwd = 3, col = "blue4")

summary(Repite_Dif_p)
##      Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
## -0.150000 -0.033333  0.000000  0.002767  0.033333  0.133333
sd(Repite_Dif_p)
## [1] 0.05103702
shapiro.test(Repite_Dif_p)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_Dif_p
## W = 0.98754, p-value = 0.0002857
table(Repite_Dif_p==0)
## 
## FALSE  TRUE 
##   428    72
qqnorm(Repite_Dif_p, col = "gold4", main = "QQ Normal 500 repeticiones n = 60")

Para n = 100

Repite_Dif_p = sapply(rep(100,500),calc_dif)

hist(Repite_Dif_p, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 100", col = "gold3")
abline(v=0,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_Dif_p),sd(Repite_Dif_p)), add = TRUE, lwd = 3, col = "blue4")

summary(Repite_Dif_p)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
## -0.12000 -0.03000  0.00000  0.00192  0.03000  0.12000
sd(Repite_Dif_p)
## [1] 0.04130042
shapiro.test(Repite_Dif_p)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_Dif_p
## W = 0.99101, p-value = 0.003892
table(Repite_Dif_p==0)
## 
## FALSE  TRUE 
##   455    45
qqnorm(Repite_Dif_p, col = "gold4", main = "QQ Normal 500 repeticiones n = 100")

Para n = 200

Repite_Dif_p = sapply(rep(200,500),calc_dif)

hist(Repite_Dif_p, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 200", col = "gold3")
abline(v=0,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_Dif_p),sd(Repite_Dif_p)), add = TRUE, lwd = 3, col = "blue4")

summary(Repite_Dif_p)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
## -0.07500 -0.02000  0.00000 -0.00103  0.02000  0.08500
sd(Repite_Dif_p)
## [1] 0.02800818
shapiro.test(Repite_Dif_p)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_Dif_p
## W = 0.99161, p-value = 0.006314
table(Repite_Dif_p==0)
## 
## FALSE  TRUE 
##   472    28
qqnorm(Repite_Dif_p, col = "gold4", main = "QQ Normal 500 repeticiones n = 200")

Para n = 500

Repite_Dif_p = sapply(rep(500,500),calc_dif)

hist(Repite_Dif_p, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 500", col = "gold3")
abline(v=0,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_Dif_p),sd(Repite_Dif_p)), add = TRUE, lwd = 3, col = "blue4")

summary(Repite_Dif_p)
##      Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
## -0.038000 -0.008500  0.000000  0.000512  0.010000  0.038000
sd(Repite_Dif_p)
## [1] 0.01341827
shapiro.test(Repite_Dif_p)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_Dif_p
## W = 0.9936, p-value = 0.03265
table(Repite_Dif_p==0)
## 
## FALSE  TRUE 
##   474    26
qqnorm(Repite_Dif_p, col = "gold4", main = "QQ Normal 500 repeticiones n = 500")

Análisis: De acuerdo a las gráficas y a los resultados obtenidos se puede concluir que entre más grande la muestra menor es la diferencia y entre más grande la muestra la tendencia de la diferencia es a cero.

e. Ahora realice nuevamente los puntos a-d bajo un escenario con dos lotes, pero de proporciones de enfermos diferentes (P1=0.1 y P2=0.15), es decir, el tratamiento del lote 1 si presentó un mejor desempeño reduciendo en un 5% el porcentaje de enfermos. Bajo este nuevo escenario compare la distribución de estas diferencias (p1-p2) con las observadas bajo igualdad de condiciones en los lotes. ¿Qué puede concluir? ¿Existen puntos en los cuales es posible que se observen diferencias de p1- p2 bajo ambos escenarios (escenario 1: sin diferencias entre P1 y P2, escenario 2: diferencia de 5%)?

N3 = c(rep("Enferma",100),rep("Sana",900))
N4 = c(rep("Enferma",225),rep("Sana",1275))
calc_dif2 =function(n){

muestra1=sample(N3,size = n)
p1=sum(muestra1=="Enferma")/n

muestra2=sample(N4,size = n)
p2=sum(muestra2=="Enferma")/n


dif = p1-p2

return(dif)

}

Para n = 5

Repite_Dif_p = sapply(rep(5,500),calc_dif2)

hist(Repite_Dif_p, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 5", col = "cadetblue")
abline(v=-0.05,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_Dif_p),sd(Repite_Dif_p)), add = TRUE, lwd = 3, col = "blue4")

summary(Repite_Dif_p)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   -0.60   -0.20    0.00   -0.04    0.00    0.80
sd(Repite_Dif_p)
## [1] 0.2145041
shapiro.test(Repite_Dif_p)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_Dif_p
## W = 0.92405, p-value = 3.351e-15
table(Repite_Dif_p==0)
## 
## FALSE  TRUE 
##   300   200
qqnorm(Repite_Dif_p, col = "coral3", main = "QQ Normal 500 repeticiones n = 5")

Para n = 10

Repite_Dif_p = sapply(rep(10,500),calc_dif2)

hist(Repite_Dif_p, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 10", col = "cadetblue")
abline(v=-0.05,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_Dif_p),sd(Repite_Dif_p)), add = TRUE, lwd = 3, col = "blue4")

summary(Repite_Dif_p)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  -0.500  -0.100   0.000  -0.049   0.025   0.400
sd(Repite_Dif_p)
## [1] 0.147045
shapiro.test(Repite_Dif_p)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_Dif_p
## W = 0.95999, p-value = 2.061e-10
table(Repite_Dif_p==0)
## 
## FALSE  TRUE 
##   372   128
qqnorm(Repite_Dif_p, col = "coral3", main = "QQ Normal 500 repeticiones n = 10")

Para n = 15

Repite_Dif_p = sapply(rep(15,500),calc_dif2)

hist(Repite_Dif_p, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 15", col = "cadetblue")
abline(v=-0.05,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_Dif_p),sd(Repite_Dif_p)), add = TRUE, lwd = 3, col = "blue4")

summary(Repite_Dif_p)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
## -0.40000 -0.13333 -0.06667 -0.04213  0.06667  0.26667
sd(Repite_Dif_p)
## [1] 0.1223349
shapiro.test(Repite_Dif_p)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_Dif_p
## W = 0.97269, p-value = 4.873e-08
table(Repite_Dif_p==0)
## 
## FALSE  TRUE 
##   393   107
qqnorm(Repite_Dif_p, col = "coral3", main = "QQ Normal 500 repeticiones n = 15")

Para n = 20

Repite_Dif_p = sapply(rep(20,500),calc_dif2)

hist(Repite_Dif_p, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 20", col = "cadetblue")
abline(v=-0.05,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_Dif_p),sd(Repite_Dif_p)), add = TRUE, lwd = 3, col = "blue4")

summary(Repite_Dif_p)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
## -0.4000 -0.1000 -0.0500 -0.0459  0.0000  0.2000
sd(Repite_Dif_p)
## [1] 0.1026121
shapiro.test(Repite_Dif_p)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_Dif_p
## W = 0.97632, p-value = 3.044e-07
table(Repite_Dif_p==0)
## 
## FALSE  TRUE 
##   409    91
qqnorm(Repite_Dif_p, col = "coral3", main = "QQ Normal 500 repeticiones n = 20")

Para n = 30

Repite_Dif_p = sapply(rep(30,500),calc_dif2)

hist(Repite_Dif_p, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 30", col = "cadetblue")
abline(v=-0.05,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_Dif_p),sd(Repite_Dif_p)), add = TRUE, lwd = 3, col = "blue4")

summary(Repite_Dif_p)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
## -0.30000 -0.10000 -0.03333 -0.04973  0.00000  0.20000
sd(Repite_Dif_p)
## [1] 0.08381581
shapiro.test(Repite_Dif_p)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_Dif_p
## W = 0.98491, p-value = 4.696e-05
table(Repite_Dif_p==0)
## 
## FALSE  TRUE 
##   441    59
qqnorm(Repite_Dif_p, col = "coral3", main = "QQ Normal 500 repeticiones n = 30")

Para n = 50

Repite_Dif_p = sapply(rep(50,500),calc_dif2)

hist(Repite_Dif_p, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 50", col = "cadetblue")
abline(v=-0.05,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_Dif_p),sd(Repite_Dif_p)), add = TRUE, lwd = 3, col = "blue4")

summary(Repite_Dif_p)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
## -0.24000 -0.10000 -0.04000 -0.05068 -0.02000  0.16000
sd(Repite_Dif_p)
## [1] 0.06708605
shapiro.test(Repite_Dif_p)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_Dif_p
## W = 0.99093, p-value = 0.00366
table(Repite_Dif_p==0)
## 
## FALSE  TRUE 
##   462    38
qqnorm(Repite_Dif_p, col = "coral3", main = "QQ Normal 500 repeticiones n = 50")

Para n = 60

Repite_Dif_p = sapply(rep(60,500),calc_dif2)

hist(Repite_Dif_p, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 60", col = "cadetblue")
abline(v=-0.05,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_Dif_p),sd(Repite_Dif_p)), add = TRUE, lwd = 3, col = "blue4")

summary(Repite_Dif_p)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
## -0.23333 -0.08333 -0.05000 -0.04303  0.00000  0.15000
sd(Repite_Dif_p)
## [1] 0.05658408
shapiro.test(Repite_Dif_p)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_Dif_p
## W = 0.99024, p-value = 0.002138
table(Repite_Dif_p==0)
## 
## FALSE  TRUE 
##   451    49
qqnorm(Repite_Dif_p, col = "coral3", main = "QQ Normal 500 repeticiones n = 60")

Para n = 100

Repite_Dif_p = sapply(rep(100,500),calc_dif2)

hist(Repite_Dif_p, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 100", col = "cadetblue")
abline(v=-0.05,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_Dif_p),sd(Repite_Dif_p)), add = TRUE, lwd = 3, col = "blue4")

summary(Repite_Dif_p)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
## -0.20000 -0.08000 -0.05000 -0.04982 -0.02000  0.12000
sd(Repite_Dif_p)
## [1] 0.04754249
shapiro.test(Repite_Dif_p)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_Dif_p
## W = 0.99309, p-value = 0.02129
table(Repite_Dif_p==0)
## 
## FALSE  TRUE 
##   486    14
qqnorm(Repite_Dif_p, col = "coral3", main = "QQ Normal 500 repeticiones n = 100")

Para n = 200

Repite_Dif_p = sapply(rep(200,500),calc_dif2)

hist(Repite_Dif_p, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 200", col = "cadetblue")
abline(v=-0.05,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_Dif_p),sd(Repite_Dif_p)), add = TRUE, lwd = 3, col = "blue4")

summary(Repite_Dif_p)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
## -0.14000 -0.06500 -0.05000 -0.04916 -0.03000  0.03500
sd(Repite_Dif_p)
## [1] 0.02944535
shapiro.test(Repite_Dif_p)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_Dif_p
## W = 0.99509, p-value = 0.1141
table(Repite_Dif_p==0)
## 
## FALSE  TRUE 
##   489    11
qqnorm(Repite_Dif_p, col = "coral3", main = "QQ Normal 500 repeticiones n = 200")

Para n = 500

Repite_Dif_p = sapply(rep(500,500),calc_dif2)

hist(Repite_Dif_p, freq = FALSE, xlab = "Proporción Muestral", ylab = "Frecuencia", main = "Histograma 500 repeticiones n = 500", col = "cadetblue")
abline(v=-0.05,col="red", lwd = 3)
curve(dnorm(x,mean(Repite_Dif_p),sd(Repite_Dif_p)), add = TRUE, lwd = 3, col = "blue4")

summary(Repite_Dif_p)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
## -0.09400 -0.06200 -0.05000 -0.05062 -0.03950 -0.00600
sd(Repite_Dif_p)
## [1] 0.01550356
shapiro.test(Repite_Dif_p)
## 
##  Shapiro-Wilk normality test
## 
## data:  Repite_Dif_p
## W = 0.99458, p-value = 0.07449
table(Repite_Dif_p==0)
## 
## FALSE 
##   500
qqnorm(Repite_Dif_p, col = "coral3", main = "QQ Normal 500 repeticiones n = 500")

### e. Ahora realice nuevamente los puntos a-d bajo un escenario con dos lotes, pero de proporciones de enfermos diferentes (P1=0.1 y P2=0.15), es decir, el tratamiento del lote 1 si presentó un mejor desempeño reduciendo en un 5% el porcentaje de enfermos. Bajo este nuevo escenario compare la distribución de estas diferencias (p1-p2) con las observadas bajo igualdad de condiciones en los lotes. ¿Qué puede concluir? ¿Existen puntos en los cuales es posible que se observen diferencias de p1- p2 bajo ambos escenarios (escenario 1: sin diferencias entre P1 y P2, escenario 2: diferencia de 5%)?

Análisis: De acuerdo a las gráficas y a los resultados obtenidos se puede concluir que entre más grande la muestra más se acerca a la diferencia que debe ser el 5%. La desviación estándar también tiende a ser cero.Se puede concluir que para la primera simulación la diferencia tiende a cero y la segunda simulación la diferencia tiene a 5%.