Inferencia estadística y simulación

El Teorema del Límite Central es uno de los mÔs importantes en la inferencia estadística y habla sobre la convergencia de los estimadores como la proporción muestral a la distribución normal. Algunos autores afirman que esta aproximación es bastante buena a partir del umbral n>30.

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

Se genera una tabla de 1 y 0, donde los 1 representan las plantas enfermas

knitr::opts_chunk$set(warning = TRUE, message = TRUE)
pob=c(rep(x = 1,500),rep(x = 0,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.

Muestra_plantas_enfermas=function(n_muestra){
pob=c(rep(x = 1,500),rep(x = 0,500))
return(sum(sample(pob,size = n_muestra))/n_muestra)
}

Muestra_plantas_enfermas(n_muestra = 100)
## [1] 0.37

c. Repita el escenario anterior 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?

require(moments)
## Loading required package: moments
Muestra_plantas_enfermas(n_muestra = 200)
## [1] 0.55
simulacion_muestra1=sapply(rep(10,500), Muestra_plantas_enfermas)
summary(simulacion_muestra1)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0000  0.4000  0.5000  0.5078  0.6000  1.0000
skewness(simulacion_muestra1)
## [1] 0.0655388
kurtosis(simulacion_muestra1)
## [1] 2.723166
hist(simulacion_muestra1)
abline(v=0.5,col="red",lwd=5)

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

Muestra_plantas_enfermas(n_muestra = 1000)
## [1] 0.5
simulacion_muestra1=sapply(rep(5,500), Muestra_plantas_enfermas)
simulacion_muestra2=sapply(rep(10,500), Muestra_plantas_enfermas)
simulacion_muestra3=sapply(rep(15,500), Muestra_plantas_enfermas)
simulacion_muestra4=sapply(rep(20,500), Muestra_plantas_enfermas)
simulacion_muestra5=sapply(rep(30,500), Muestra_plantas_enfermas)
simulacion_muestra6=sapply(rep(50,500), Muestra_plantas_enfermas)
simulacion_muestra7=sapply(rep(60,500), Muestra_plantas_enfermas)
simulacion_muestra8=sapply(rep(100,500), Muestra_plantas_enfermas)
simulacion_muestra9=sapply(rep(200,500), Muestra_plantas_enfermas)
simulacion_muestra10=sapply(rep(500,500), Muestra_plantas_enfermas)
simulacion_muestra1
##   [1] 0.2 0.2 0.6 0.6 0.8 0.6 0.6 0.6 0.4 0.6 0.2 0.0 0.6 0.6 0.8 0.6 0.8 0.4
##  [19] 0.6 0.2 0.6 0.6 0.6 0.6 0.2 0.8 1.0 0.6 0.4 0.2 0.6 0.4 0.0 0.8 0.4 0.2
##  [37] 0.6 0.6 0.8 1.0 0.2 0.6 0.2 0.4 0.4 0.2 0.6 0.6 0.6 0.4 0.4 0.6 0.6 0.4
##  [55] 0.4 0.6 0.2 0.4 0.8 0.4 0.0 0.8 0.2 0.4 0.4 0.8 0.0 0.4 0.6 0.2 0.4 0.4
##  [73] 0.6 0.4 0.4 1.0 0.8 0.2 0.4 0.2 0.8 0.2 0.2 1.0 0.2 0.2 0.8 0.8 0.2 0.6
##  [91] 0.6 0.2 0.4 0.0 0.6 0.4 0.4 0.2 0.4 0.6 0.6 0.8 0.2 0.8 0.4 0.2 0.6 0.6
## [109] 0.6 0.6 0.6 0.6 0.8 0.8 0.6 0.4 1.0 0.6 0.8 0.2 0.8 0.0 0.4 0.4 0.8 0.6
## [127] 0.4 0.6 0.2 0.2 0.6 0.4 0.6 0.4 0.4 0.8 0.8 0.6 0.6 0.6 0.6 0.2 0.6 0.6
## [145] 0.8 0.4 0.8 0.2 0.6 0.6 0.0 0.4 0.6 0.6 0.8 0.6 0.4 0.6 0.8 0.6 0.4 0.2
## [163] 0.4 0.6 0.4 0.4 0.4 0.6 0.6 0.4 0.4 0.6 0.2 0.4 0.6 0.4 1.0 0.4 0.4 0.2
## [181] 0.2 0.6 0.4 0.6 0.8 0.8 0.4 0.4 0.4 0.2 0.8 0.0 0.4 0.4 0.8 0.8 0.6 0.2
## [199] 0.4 0.8 0.0 0.6 0.4 0.6 0.6 0.4 0.8 0.4 0.6 0.4 0.4 0.6 0.6 0.4 0.4 0.4
## [217] 0.4 0.8 0.0 0.6 0.8 0.8 0.8 0.2 0.6 0.2 0.6 0.6 0.4 0.8 0.4 0.6 1.0 1.0
## [235] 0.4 0.4 0.2 0.4 0.6 0.6 0.8 0.8 0.4 0.6 0.8 0.4 0.2 0.2 0.4 0.6 0.2 0.2
## [253] 0.4 0.0 0.8 0.6 0.6 0.8 0.4 0.4 0.8 1.0 0.6 0.2 0.2 0.8 0.4 0.2 0.4 0.6
## [271] 0.4 0.4 0.8 0.6 0.4 0.4 0.8 0.8 0.6 0.6 0.0 0.8 0.6 0.0 0.8 0.6 0.4 0.2
## [289] 0.4 0.0 0.6 0.0 0.6 0.4 0.4 0.2 1.0 0.6 0.6 0.6 0.2 0.6 0.2 0.6 0.8 0.8
## [307] 0.6 0.4 0.4 0.8 0.4 0.6 0.4 0.4 0.2 0.2 0.6 0.4 0.6 0.8 0.6 0.6 0.8 0.8
## [325] 0.8 0.4 0.6 0.4 0.2 0.2 0.4 0.8 0.6 0.4 0.4 0.4 0.4 0.2 0.6 0.6 0.4 0.6
## [343] 0.2 0.8 0.4 0.4 0.8 0.2 0.8 1.0 0.6 0.2 0.8 0.8 0.2 0.6 0.6 0.4 0.6 0.2
## [361] 0.4 0.4 0.8 0.2 0.6 0.4 0.2 0.6 0.4 0.6 0.6 0.6 0.4 0.8 0.8 0.2 0.4 0.4
## [379] 0.6 0.0 0.4 0.2 0.4 0.8 0.4 0.6 0.6 0.8 0.4 0.8 0.6 0.2 0.6 0.4 0.4 0.8
## [397] 0.4 0.4 0.4 0.8 0.8 0.4 0.4 0.4 0.2 1.0 0.6 0.4 0.2 0.4 0.8 0.4 0.4 0.8
## [415] 0.4 0.4 0.4 0.8 0.0 0.6 0.8 0.6 0.6 0.0 0.4 0.8 0.4 0.8 0.6 0.6 0.8 0.8
## [433] 0.4 0.6 0.4 0.8 0.4 0.2 0.2 0.4 0.6 0.6 0.6 0.4 0.6 0.4 0.6 0.6 0.6 0.2
## [451] 0.4 0.4 0.4 0.4 0.6 0.4 0.6 0.6 0.2 0.2 0.2 0.4 0.2 0.6 0.6 0.8 0.8 0.4
## [469] 0.4 0.8 0.8 0.8 0.2 0.4 0.6 0.6 1.0 0.4 0.4 0.6 0.4 0.4 0.8 0.6 0.8 0.6
## [487] 0.4 0.6 0.4 0.4 0.4 0.8 0.8 0.2 0.4 0.2 0.6 0.4 0.0 0.4
Tabla_simulaciones1=data.frame(simulacion_muestra1,simulacion_muestra2,simulacion_muestra3,simulacion_muestra4,simulacion_muestra5,simulacion_muestra6,simulacion_muestra7,simulacion_muestra8,simulacion_muestra9,simulacion_muestra10)
summary(Tabla_simulaciones1)
##  simulacion_muestra1 simulacion_muestra2 simulacion_muestra3
##  Min.   :0.0000      Min.   :0.0000      Min.   :0.1333     
##  1st Qu.:0.4000      1st Qu.:0.4000      1st Qu.:0.4000     
##  Median :0.5000      Median :0.5000      Median :0.5333     
##  Mean   :0.5008      Mean   :0.5092      Mean   :0.4960     
##  3rd Qu.:0.6000      3rd Qu.:0.6000      3rd Qu.:0.6000     
##  Max.   :1.0000      Max.   :1.0000      Max.   :0.8667     
##  simulacion_muestra4 simulacion_muestra5 simulacion_muestra6
##  Min.   :0.1500      Min.   :0.2333      Min.   :0.280      
##  1st Qu.:0.4375      1st Qu.:0.4333      1st Qu.:0.460      
##  Median :0.5000      Median :0.5000      Median :0.500      
##  Mean   :0.5010      Mean   :0.5008      Mean   :0.497      
##  3rd Qu.:0.6000      3rd Qu.:0.5667      3rd Qu.:0.540      
##  Max.   :0.8500      Max.   :0.8333      Max.   :0.720      
##  simulacion_muestra7 simulacion_muestra8 simulacion_muestra9
##  Min.   :0.3167      Min.   :0.3900      Min.   :0.4100     
##  1st Qu.:0.4500      1st Qu.:0.4700      1st Qu.:0.4750     
##  Median :0.5000      Median :0.5000      Median :0.5000     
##  Mean   :0.4981      Mean   :0.4987      Mean   :0.4987     
##  3rd Qu.:0.5500      3rd Qu.:0.5300      3rd Qu.:0.5200     
##  Max.   :0.6667      Max.   :0.6300      Max.   :0.6050     
##  simulacion_muestra10
##  Min.   :0.4560      
##  1st Qu.:0.4880      
##  Median :0.4980      
##  Mean   :0.4994      
##  3rd Qu.:0.5100      
##  Max.   :0.5540
fest_norm1=shapiro.test(simulacion_muestra1)
fest_norm2=shapiro.test(simulacion_muestra2)
fest_norm3=shapiro.test(simulacion_muestra3)
fest_norm4=shapiro.test(simulacion_muestra4)
fest_norm5=shapiro.test(simulacion_muestra5)
fest_norm6=shapiro.test(simulacion_muestra6)
fest_norm7=shapiro.test(simulacion_muestra7)
fest_norm8=shapiro.test(simulacion_muestra8)
fest_norm9=shapiro.test(simulacion_muestra9)
fest_norm10=shapiro.test(simulacion_muestra10)

fest_norm1;fest_norm2;fest_norm3;fest_norm4;fest_norm5;fest_norm6;fest_norm7;fest_norm8;fest_norm9;fest_norm10
## 
##  Shapiro-Wilk normality test
## 
## data:  simulacion_muestra1
## W = 0.92916, p-value = 1.245e-14
## 
##  Shapiro-Wilk normality test
## 
## data:  simulacion_muestra2
## W = 0.9679, p-value = 5.338e-09
## 
##  Shapiro-Wilk normality test
## 
## data:  simulacion_muestra3
## W = 0.97313, p-value = 6.052e-08
## 
##  Shapiro-Wilk normality test
## 
## data:  simulacion_muestra4
## W = 0.98111, p-value = 4.385e-06
## 
##  Shapiro-Wilk normality test
## 
## data:  simulacion_muestra5
## W = 0.98757, p-value = 0.0002922
## 
##  Shapiro-Wilk normality test
## 
## data:  simulacion_muestra6
## W = 0.98892, p-value = 0.0007837
## 
##  Shapiro-Wilk normality test
## 
## data:  simulacion_muestra7
## W = 0.98992, p-value = 0.001661
## 
##  Shapiro-Wilk normality test
## 
## data:  simulacion_muestra8
## W = 0.99183, p-value = 0.007574
## 
##  Shapiro-Wilk normality test
## 
## data:  simulacion_muestra9
## W = 0.99536, p-value = 0.1427
## 
##  Shapiro-Wilk normality test
## 
## data:  simulacion_muestra10
## W = 0.99674, p-value = 0.4125
prueba_grafica1=qqnorm(simulacion_muestra1, 
          main = "Distribucion de residuos muestra 1")
qqline(simulacion_muestra1, col = 2)

prueba_grafica2=qqnorm(simulacion_muestra2, 
          main = "Distribucion de residuos muestra 2")
qqline(simulacion_muestra1, col = 2)

prueba_grafica3=qqnorm(simulacion_muestra3, 
          main = "Distribucion de residuos muestra 3")
qqline(simulacion_muestra1, col = 2)

prueba_grafica4=qqnorm(simulacion_muestra4, 
          main = "Distribucion de residuos muestra 4")
qqline(simulacion_muestra1, col = 2)

prueba_grafica5=qqnorm(simulacion_muestra5, 
          main = "Distribucion de residuos muestra 5")
qqline(simulacion_muestra1, col = 2)

prueba_grafica6=qqnorm(simulacion_muestra6, 
          main = "Distribucion de residuos muestra 6")
qqline(simulacion_muestra1, col = 2)

prueba_grafica7=qqnorm(simulacion_muestra7, 
          main = "Distribucion de residuos muestra 7")
qqline(simulacion_muestra1, col = 2)

prueba_grafica8=qqnorm(simulacion_muestra8, 
          main = "Distribucion de residuos muestra 7")
qqline(simulacion_muestra1, col = 2)

prueba_grafica9=qqnorm(simulacion_muestra9, 
          main = "Distribucion de residuos muestra 9")
qqline(simulacion_muestra1, col = 2)

prueba_grafica10=qqnorm(simulacion_muestra10, 
          main = "Distribucion de residuos muestra 10")
qqline(simulacion_muestra1, col = 2)

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

Muestra_plantas_enfermas2=function(n_muestra){
pob=c(rep(x = 1,900),rep(x = 0,100))
return(sum(sample(pob,size = n_muestra))/n_muestra)
}

Muestra_plantas_enfermas2(n_muestra = 100)
## [1] 0.89
simulacion_muestra_e=sapply(rep(500,100), Muestra_plantas_enfermas2)
summary(simulacion_muestra_e)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.8800  0.8940  0.9000  0.9005  0.9080  0.9200
skewness(simulacion_muestra_e)
## [1] 0.003924432
kurtosis(simulacion_muestra_e)
## [1] 2.425356
hist(simulacion_muestra_e)
abline(v=0.9,col="red",lwd=5)

##Simular el ejercicio con diferentes tamaƱos de muestra##

simulacion_muestrae1=sapply(rep(5,500), Muestra_plantas_enfermas2)
simulacion_muestrae2=sapply(rep(10,500), Muestra_plantas_enfermas2)
simulacion_muestrae3=sapply(rep(15,500), Muestra_plantas_enfermas2)
simulacion_muestrae4=sapply(rep(20,500), Muestra_plantas_enfermas2)
simulacion_muestrae5=sapply(rep(30,500), Muestra_plantas_enfermas2)
simulacion_muestrae6=sapply(rep(50,500), Muestra_plantas_enfermas2)
simulacion_muestrae7=sapply(rep(60,500), Muestra_plantas_enfermas2)
simulacion_muestrae8=sapply(rep(100,500), Muestra_plantas_enfermas2)
simulacion_muestrae9=sapply(rep(200,500), Muestra_plantas_enfermas2)
simulacion_muestrae10=sapply(rep(500,500), Muestra_plantas_enfermas2)


Tabla_simulaciones_e=data.frame(simulacion_muestrae1,simulacion_muestrae2,simulacion_muestrae3,simulacion_muestrae4,simulacion_muestrae5,simulacion_muestrae6,simulacion_muestrae7,simulacion_muestrae8,simulacion_muestrae9,simulacion_muestrae10)
summary(Tabla_simulaciones_e)
##  simulacion_muestrae1 simulacion_muestrae2 simulacion_muestrae3
##  Min.   :0.4000       Min.   :0.500        Min.   :0.6000      
##  1st Qu.:0.8000       1st Qu.:0.800        1st Qu.:0.8667      
##  Median :1.0000       Median :0.900        Median :0.9333      
##  Mean   :0.8984       Mean   :0.898        Mean   :0.9005      
##  3rd Qu.:1.0000       3rd Qu.:1.000        3rd Qu.:0.9333      
##  Max.   :1.0000       Max.   :1.000        Max.   :1.0000      
##  simulacion_muestrae4 simulacion_muestrae5 simulacion_muestrae6
##  Min.   :0.6000       Min.   :0.6667       Min.   :0.7600      
##  1st Qu.:0.8500       1st Qu.:0.8667       1st Qu.:0.8800      
##  Median :0.9000       Median :0.9000       Median :0.9000      
##  Mean   :0.9018       Mean   :0.8987       Mean   :0.9018      
##  3rd Qu.:0.9500       3rd Qu.:0.9333       3rd Qu.:0.9400      
##  Max.   :1.0000       Max.   :1.0000       Max.   :1.0000      
##  simulacion_muestrae7 simulacion_muestrae8 simulacion_muestrae9
##  Min.   :0.8000       Min.   :0.8200       Min.   :0.8400      
##  1st Qu.:0.8667       1st Qu.:0.8800       1st Qu.:0.8850      
##  Median :0.9000       Median :0.9000       Median :0.9000      
##  Mean   :0.8998       Mean   :0.9023       Mean   :0.8998      
##  3rd Qu.:0.9333       3rd Qu.:0.9200       3rd Qu.:0.9150      
##  Max.   :0.9833       Max.   :0.9700       Max.   :0.9450      
##  simulacion_muestrae10
##  Min.   :0.8740       
##  1st Qu.:0.8940       
##  Median :0.9000       
##  Mean   :0.9001       
##  3rd Qu.:0.9060       
##  Max.   :0.9380
fest_norme1=shapiro.test(simulacion_muestrae1)
fest_norme2=shapiro.test(simulacion_muestrae2)
fest_norme3=shapiro.test(simulacion_muestrae3)
fest_norme4=shapiro.test(simulacion_muestrae4)
fest_norme5=shapiro.test(simulacion_muestrae5)
fest_norme6=shapiro.test(simulacion_muestrae6)
fest_norme7=shapiro.test(simulacion_muestrae7)
fest_norme8=shapiro.test(simulacion_muestrae8)
fest_norme9=shapiro.test(simulacion_muestrae9)
fest_norme10=shapiro.test(simulacion_muestrae10)

fest_norme1;fest_norme2;fest_norme3;fest_norme4;fest_norme5;fest_norme6;fest_norme7;fest_norme8;fest_norme9;fest_norme10
## 
##  Shapiro-Wilk normality test
## 
## data:  simulacion_muestrae1
## W = 0.70244, p-value < 2.2e-16
## 
##  Shapiro-Wilk normality test
## 
## data:  simulacion_muestrae2
## W = 0.8424, p-value < 2.2e-16
## 
##  Shapiro-Wilk normality test
## 
## data:  simulacion_muestrae3
## W = 0.9, p-value < 2.2e-16
## 
##  Shapiro-Wilk normality test
## 
## data:  simulacion_muestrae4
## W = 0.92041, p-value = 1.366e-15
## 
##  Shapiro-Wilk normality test
## 
## data:  simulacion_muestrae5
## W = 0.95078, p-value = 7.546e-12
## 
##  Shapiro-Wilk normality test
## 
## data:  simulacion_muestrae6
## W = 0.97691, p-value = 4.168e-07
## 
##  Shapiro-Wilk normality test
## 
## data:  simulacion_muestrae7
## W = 0.97519, p-value = 1.695e-07
## 
##  Shapiro-Wilk normality test
## 
## data:  simulacion_muestrae8
## W = 0.98138, p-value = 5.169e-06
## 
##  Shapiro-Wilk normality test
## 
## data:  simulacion_muestrae9
## W = 0.98974, p-value = 0.001447
## 
##  Shapiro-Wilk normality test
## 
## data:  simulacion_muestrae10
## W = 0.99177, p-value = 0.007177
prueba_grafica1=qqnorm(simulacion_muestrae1, 
          main = "Distribucion de residuos muestra e1")
qqline(simulacion_muestra1, col = 2)

prueba_grafica2=qqnorm(simulacion_muestrae2, 
          main = "Distribucion de residuos muestra e2")
qqline(simulacion_muestra1, col = 2)

prueba_grafica3=qqnorm(simulacion_muestrae3, 
          main = "Distribucion de residuos muestra e3")
qqline(simulacion_muestra1, col = 2)

prueba_grafica4=qqnorm(simulacion_muestrae4, 
          main = "Distribucion de residuos muestra e4")
qqline(simulacion_muestra1, col = 2)

prueba_grafica5=qqnorm(simulacion_muestrae5, 
          main = "Distribucion de residuos muestra e5")
qqline(simulacion_muestra1, col = 2)

prueba_grafica6=qqnorm(simulacion_muestra6, 
          main = "Distribucion de residuos muestra e6")
qqline(simulacion_muestra1, col = 2)

prueba_grafica7=qqnorm(simulacion_muestra7, 
          main = "Distribucion de residuos muestra e7")
qqline(simulacion_muestra1, col = 2)

prueba_grafica8=qqnorm(simulacion_muestra8, 
          main = "Distribucion de residuos muestra e7")
qqline(simulacion_muestra1, col = 2)

prueba_grafica9=qqnorm(simulacion_muestra9, 
          main = "Distribucion de residuos muestra e9")
qqline(simulacion_muestra1, col = 2)

prueba_grafica10=qqnorm(simulacion_muestra10, 
          main = "Distribucion de residuos muestra e10")
qqline(simulacion_muestra1, col = 2)

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

lote1=c(rep("enfermo",100),rep("sanos",900))
lote2=c(rep("enfermo",150),rep("sanos",1350))

P1=100/1000
P2=150/1500

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_p=function(n1){
#n1=60
n2=n1

muestra1=sample(lote1,n1)
p1=sum(muestra1=="enfermo")/n1

muestra2=sample(lote2,n2)
p2=sum(muestra2=="enfermo")/n2

dif_p=p1-p2
return(dif_p)
}

calc_dif_p(n1 = 60)
## [1] 0.01666667

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?

dif_p=sapply(rep(100,15000), calc_dif_p)
table(dif_p==0)
## 
## FALSE  TRUE 
## 13455  1545
summary(dif_p)
##       Min.    1st Qu.     Median       Mean    3rd Qu.       Max. 
## -0.1700000 -0.0300000  0.0000000  0.0004347  0.0300000  0.1500000
hist(dif_p)

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?

dif_p1=sapply(rep(5,5000), calc_dif_p)
table(dif_p1==0)
## 
## FALSE  TRUE 
##  2666  2334
summary(dif_p1)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  -8e-01  -2e-01   0e+00   4e-05   2e-01   6e-01
hist(dif_p1)

shapiro.test(dif_p1)
## 
##  Shapiro-Wilk normality test
## 
## data:  dif_p1
## W = 0.90292, p-value < 2.2e-16
prueba_grafica_2_1=qqnorm(dif_p1, 
          main = "Distribucion de residuos muestra 1")
qqline(dif_p1, col = 2)

dif_p2=sapply(rep(10,5000), calc_dif_p)
table(dif_p2==0)
## 
## FALSE  TRUE 
##  3414  1586
summary(dif_p2)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
## -0.60000 -0.10000  0.00000 -0.00128  0.10000  0.50000
hist(dif_p2)

shapiro.test(dif_p2)
## 
##  Shapiro-Wilk normality test
## 
## data:  dif_p2
## W = 0.95195, p-value < 2.2e-16
prueba_grafica_2_2=qqnorm(dif_p2, 
          main = "Distribucion de residuos muestra 3")
qqline(dif_p2, col = 2)

dif_p3=sapply(rep(15,5000), calc_dif_p)
table(dif_p3==0)
## 
## FALSE  TRUE 
##  3720  1280
summary(dif_p3)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
## -0.40000 -0.06667  0.00000 -0.00244  0.06667  0.40000
hist(dif_p3)

shapiro.test(dif_p3)
## 
##  Shapiro-Wilk normality test
## 
## data:  dif_p3
## W = 0.96661, p-value < 2.2e-16
prueba_grafica_2_3=qqnorm(dif_p3, 
          main = "Distribucion de residuos muestra 3")
qqline(dif_p3, col = 2)

dif_p4=sapply(rep(20,5000), calc_dif_p)
table(dif_p4==0)
## 
## FALSE  TRUE 
##  3975  1025
summary(dif_p4)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
## -0.35000 -0.05000  0.00000  0.00231  0.05000  0.35000
hist(dif_p4)

shapiro.test(dif_p4)
## 
##  Shapiro-Wilk normality test
## 
## data:  dif_p4
## W = 0.97597, p-value < 2.2e-16
prueba_grafica_2_4=qqnorm(dif_p4, 
          main = "Distribucion de residuos muestra 4")
qqline(dif_p4, col = 2)

dif_p5=sapply(rep(30,5000), calc_dif_p)
table(dif_p5==0)
## 
## FALSE  TRUE 
##  4101   899
summary(dif_p5)
##       Min.    1st Qu.     Median       Mean    3rd Qu.       Max. 
## -0.2666667 -0.0666667  0.0000000 -0.0004067  0.0333333  0.3000000
hist(dif_p5)

shapiro.test(dif_p5)
## 
##  Shapiro-Wilk normality test
## 
## data:  dif_p5
## W = 0.98358, p-value < 2.2e-16
prueba_grafica_2_5=qqnorm(dif_p5, 
          main = "Distribucion de residuos muestra 5")
qqline(dif_p5, col = 2)

dif_p6=sapply(rep(50,5000), calc_dif_p)
table(dif_p6==0)
## 
## FALSE  TRUE 
##  4336   664
summary(dif_p6)
##      Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
## -0.200000 -0.040000  0.000000 -0.000232  0.040000  0.240000
hist(dif_p6)

shapiro.test(dif_p6)
## 
##  Shapiro-Wilk normality test
## 
## data:  dif_p6
## W = 0.99032, p-value < 2.2e-16
prueba_grafica_2_6=qqnorm(dif_p6, 
          main = "Distribucion de residuos muestra 6")
qqline(dif_p6, col = 2)

dif_p7=sapply(rep(60,5000), calc_dif_p)
table(dif_p7==0)
## 
## FALSE  TRUE 
##  4378   622
summary(dif_p7)
##      Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
## -0.216667 -0.033333  0.000000  0.001223  0.033333  0.183333
hist(dif_p7)

shapiro.test(dif_p7)
## 
##  Shapiro-Wilk normality test
## 
## data:  dif_p7
## W = 0.99087, p-value < 2.2e-16
prueba_grafica_2_7=qqnorm(dif_p7, 
          main = "Distribucion de residuos muestra 7")
qqline(dif_p7, col = 2)

dif_p8=sapply(rep(100,5000), calc_dif_p)
table(dif_p8==0)
## 
## FALSE  TRUE 
##  4478   522
summary(dif_p8)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
## -1.5e-01 -3.0e-02  0.0e+00  5.2e-05  3.0e-02  1.5e-01
hist(dif_p8)

shapiro.test(dif_p8)
## 
##  Shapiro-Wilk normality test
## 
## data:  dif_p8
## W = 0.99453, p-value = 7.549e-13
prueba_grafica_2_8=qqnorm(dif_p8, 
          main = "Distribucion de residuos muestra 8")
qqline(dif_p8, col = 2)

dif_p9=sapply(rep(200,5000), calc_dif_p)
table(dif_p9==0)
## 
## FALSE  TRUE 
##  4640   360
summary(dif_p9)
##      Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
## -0.100000 -0.020000  0.000000 -0.000387  0.020000  0.100000
hist(dif_p9)

shapiro.test(dif_p9)
## 
##  Shapiro-Wilk normality test
## 
## data:  dif_p9
## W = 0.99663, p-value = 3.245e-09
prueba_grafica_2_9=qqnorm(dif_p9, 
          main = "Distribucion de residuos muestra 9")
qqline(dif_p9, col = 2)

dif_p10=sapply(rep(500,5000), calc_dif_p)
table(dif_p10==0)
## 
## FALSE  TRUE 
##  4729   271
summary(dif_p10)
##      Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
## -0.052000 -0.010000  0.000000  0.000122  0.010000  0.054000
hist(dif_p10)

shapiro.test(dif_p10)
## 
##  Shapiro-Wilk normality test
## 
## data:  dif_p10
## W = 0.99791, p-value = 2.745e-06
prueba_grafica_2_10=qqnorm(dif_p10, 
          main = "Distribucion de residuos muestra 10")
qqline(dif_p10, col = 2)

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%)?

lote1e=c(rep("enfermo",100),rep("sanos",900))
lote2e=c(rep("enfermo",225),rep("sanos",1275))

P1e=100/1000
P2e=225/1500

calc_dif_p_e=function(n1){

#n1=60
n2=n1

muestra1e=sample(lote1,n1)
p1e=sum(muestra1e=="enfermo")/n1

muestra2e=sample(lote2,n2)
p2e=sum(muestra2e=="enfermo")/n2

dif_pe=p1e-p2e
return(dif_pe)
}

calc_dif_p_e(n1 = 100)
## [1] -0.08
dif_p1e=sapply(rep(5,5000), calc_dif_p_e)
table(dif_p1e==0)
## 
## FALSE  TRUE 
##  2696  2304
summary(dif_p1e)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
## -0.80000 -0.20000  0.00000  0.00244  0.20000  0.80000
hist(dif_p1e)

shapiro.test(dif_p1e)
## 
##  Shapiro-Wilk normality test
## 
## data:  dif_p1e
## W = 0.90285, p-value < 2.2e-16
prueba_grafica_2_1e=qqnorm(dif_p1e, 
          main = "Distribucion de residuos muestra 1e")
qqline(dif_p1e, col = 2)

dif_p2e=sapply(rep(10,5000), calc_dif_p)
table(dif_p2e==0)
## 
## FALSE  TRUE 
##  3452  1548
summary(dif_p2e)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
## -0.50000 -0.10000  0.00000 -0.00114  0.10000  0.50000
hist(dif_p2e)

shapiro.test(dif_p2e)
## 
##  Shapiro-Wilk normality test
## 
## data:  dif_p2e
## W = 0.95253, p-value < 2.2e-16
prueba_grafica_2_2=qqnorm(dif_p2e, 
          main = "Distribucion de residuos muestra 2e")
qqline(dif_p2, col = 2)

dif_p3e=sapply(rep(15,5000), calc_dif_p)
table(dif_p3e==0)
## 
## FALSE  TRUE 
##  3742  1258
summary(dif_p3e)
##       Min.    1st Qu.     Median       Mean    3rd Qu.       Max. 
## -0.4000000 -0.0666667  0.0000000 -0.0003867  0.0666667  0.4000000
hist(dif_p3e)

shapiro.test(dif_p3e)
## 
##  Shapiro-Wilk normality test
## 
## data:  dif_p3e
## W = 0.96846, p-value < 2.2e-16
prueba_grafica_2_3e=qqnorm(dif_p3e, 
          main = "Distribucion de residuos muestra 3e")
qqline(dif_p3e, col = 2)

dif_p4e=sapply(rep(20,5000), calc_dif_p)
table(dif_p4e==0)
## 
## FALSE  TRUE 
##  3912  1088
summary(dif_p4e)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
## -0.35000 -0.05000  0.00000  0.00106  0.05000  0.35000
hist(dif_p4e)

shapiro.test(dif_p4e)
## 
##  Shapiro-Wilk normality test
## 
## data:  dif_p4e
## W = 0.97662, p-value < 2.2e-16
prueba_grafica_2_4e=qqnorm(dif_p4e, 
          main = "Distribucion de residuos muestra 4e")
qqline(dif_p4e, col = 2)

dif_p5e=sapply(rep(30,5000), calc_dif_p)
table(dif_p5e==0)
## 
## FALSE  TRUE 
##  4115   885
summary(dif_p5e)
##       Min.    1st Qu.     Median       Mean    3rd Qu.       Max. 
## -0.3000000 -0.0666667  0.0000000 -0.0002333  0.0333333  0.3666667
hist(dif_p5e)

shapiro.test(dif_p5e)
## 
##  Shapiro-Wilk normality test
## 
## data:  dif_p5e
## W = 0.98368, p-value < 2.2e-16
prueba_grafica_2_5e=qqnorm(dif_p5e, 
          main = "Distribucion de residuos muestra 5e")
qqline(dif_p5e, col = 2)

dif_p6e=sapply(rep(50,5000), calc_dif_p)
table(dif_p6e==0)
## 
## FALSE  TRUE 
##  4302   698
summary(dif_p6e)
##      Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
## -0.200000 -0.040000  0.000000  0.000744  0.040000  0.200000
hist(dif_p6e)

shapiro.test(dif_p6e)
## 
##  Shapiro-Wilk normality test
## 
## data:  dif_p6e
## W = 0.98993, p-value < 2.2e-16
prueba_grafica_2_6e=qqnorm(dif_p6e, 
          main = "Distribucion de residuos muestra 6e")
qqline(dif_p6e, col = 2)

dif_p7e=sapply(rep(60,5000), calc_dif_p)
table(dif_p7e==0)
## 
## FALSE  TRUE 
##  4354   646
summary(dif_p7e)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
## -0.18333 -0.03333  0.00000  0.00035  0.03333  0.20000
hist(dif_p7e)

shapiro.test(dif_p7e)
## 
##  Shapiro-Wilk normality test
## 
## data:  dif_p7e
## W = 0.99156, p-value < 2.2e-16
prueba_grafica_2_7e=qqnorm(dif_p7e, 
          main = "Distribucion de residuos muestra 7e")
qqline(dif_p7e, col = 2)

dif_p8e=sapply(rep(100,5000), calc_dif_p)
table(dif_p8e==0)
## 
## FALSE  TRUE 
##  4500   500
summary(dif_p8e)
##      Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
## -0.170000 -0.030000  0.000000 -0.000452  0.030000  0.140000
hist(dif_p8e)

shapiro.test(dif_p8e)
## 
##  Shapiro-Wilk normality test
## 
## data:  dif_p8e
## W = 0.99437, p-value = 4.307e-13
prueba_grafica_2_8e=qqnorm(dif_p8e, 
          main = "Distribucion de residuos muestra 8e")
qqline(dif_p8e, col = 2)

dif_p9e=sapply(rep(200,5000), calc_dif_p)
table(dif_p9e==0)
## 
## FALSE  TRUE 
##  4644   356
summary(dif_p9e)
##      Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
## -0.095000 -0.020000  0.000000  0.000486  0.020000  0.095000
hist(dif_p9e)

shapiro.test(dif_p9e)
## 
##  Shapiro-Wilk normality test
## 
## data:  dif_p9e
## W = 0.997, p-value = 1.968e-08
prueba_grafica_2_9e=qqnorm(dif_p9e, 
          main = "Distribucion de residuos muestra 9e")
qqline(dif_p9, col = 2)

dif_p10e=sapply(rep(500,5000), calc_dif_p)
table(dif_p10e==0)
## 
## FALSE  TRUE 
##  4706   294
summary(dif_p10e)
##      Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
## -0.052000 -0.010000  0.000000  0.000266  0.010000  0.050000
hist(dif_p10e)

shapiro.test(dif_p10e)
## 
##  Shapiro-Wilk normality test
## 
## data:  dif_p10e
## W = 0.99796, p-value = 3.672e-06
prueba_grafica_2_10e=qqnorm(dif_p10e, 
          main = "Distribucion de residuos muestra 10e")
qqline(dif_p10e, col = 2)