poblacion = c(rep("enfermo",500),rep("sano" , 500))
calc_p_gorro=function(n){
muestra=sample(poblacion,size = n)
p_gorro=sum(muestra=="enfermo")/n
return(p_gorro)
}
calc_p_gorro(n = 100)
## [1] 0.51
require(ggplot2)
posibles_p_gorros = sapply(rep(100,500),calc_p_gorro)
resumen = summary(posibles_p_gorros)
Coeficiente_asimetria_Pearson_CAP = 3*(mean(posibles_p_gorros)-median(posibles_p_gorros))/sd(posibles_p_gorros)
Varianza= var(posibles_p_gorros)
Desviacion = sd(posibles_p_gorros)
Coeficiente_variación_CV = sd(posibles_p_gorros)/mean(posibles_p_gorros)*100
resultados = data.frame(Coeficiente_asimetria_Pearson_CAP, Varianza, Desviacion, Coeficiente_variación_CV)
resumen
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.370 0.460 0.500 0.499 0.530 0.680
resultados
| Coeficiente_asimetria_Pearson_CAP | Varianza | Desviacion | Coeficiente_variación_CV |
|---|---|---|---|
| -0.064476 | 0.0023416 | 0.0483901 | 9.698192 |
hist(posibles_p_gorros)
abline(v=median(posibles_p_gorros), col="blue", lwd=2)
abline(v=mean(posibles_p_gorros), col="red", lwd=2)
legend(x ="topright",legend = c("media", "mediana"), col = c("red", "blue"),lwd = 4 )
#--------------------------------------ANÁLISIS---------------------------------------------
# Para una muestra de n=100 y 500 repeticiones, se observa que la media y la mediana son muy similares, esto es un síntoma de simetría que se puede observar en el histograma, en donde la media se representa por la linea de color rojo y la mediana con color azul; el coeficiente de asimetría de Pearson CAP indica que la distribución es simétrica ya que CAP ≈ 0. En el histograma se observa que no existe sesgo (o es muy leve dado que el CAP es muy cercano a cero), la media de la muestra es muy similar a la media real , los datos se distribuyen con una alta simetría. A pesar que los datos no tienen sesgo, presentan un coeficiente de variación del 9% lo que significa que la media aritmética es representativa del conjunto de datos.
#-------------------------------------------------------------------------------------------
require(ggplot2)
require(ggpubr)
posibles_p_gorros_5 = sapply(rep(5,500),calc_p_gorro)
posibles_p_gorros_10 = sapply(rep(10,500),calc_p_gorro)
posibles_p_gorros_15 = sapply(rep(15,500),calc_p_gorro)
posibles_p_gorros_20 = sapply(rep(20,500),calc_p_gorro)
posibles_p_gorros_30 = sapply(rep(30,500),calc_p_gorro)
posibles_p_gorros_50 = sapply(rep(50,500),calc_p_gorro)
posibles_p_gorros_60 = sapply(rep(60,500),calc_p_gorro)
posibles_p_gorros_100 = sapply(rep(100,500),calc_p_gorro)
posibles_p_gorros_200 = sapply(rep(200,500),calc_p_gorro)
posibles_p_gorros_500 = sapply(rep(500,500),calc_p_gorro)
p_value_5 =shapiro.test(posibles_p_gorros_5)$p.value
p_value_10 =shapiro.test(posibles_p_gorros_10)$p.value
p_value_15 =shapiro.test(posibles_p_gorros_15)$p.value
p_value_20 =shapiro.test(posibles_p_gorros_20)$p.value
p_value_30 =shapiro.test(posibles_p_gorros_30)$p.value
p_value_50 =shapiro.test(posibles_p_gorros_50)$p.value
p_value_60 =shapiro.test(posibles_p_gorros_60)$p.value
p_value_100 =shapiro.test(posibles_p_gorros_100)$p.value
p_value_200 =shapiro.test(posibles_p_gorros_200)$p.value
p_value_500 =shapiro.test(posibles_p_gorros_500)$p.value
vector_p_value = c(p_value_5, p_value_10, p_value_15, p_value_20, p_value_30, p_value_50, p_value_60,p_value_100,p_value_200,p_value_500 )
tamaño_muestra= c(5,10,15,20,30,50,60,100,200,500)
datos_p_value=data.frame(vector_p_value,tamaño_muestra)
g1 = ggplot(datos_p_value, aes(y=vector_p_value, x=tamaño_muestra)) + geom_line()+ geom_point()
g2 =ggqqplot(posibles_p_gorros_5)
g3 =ggqqplot(posibles_p_gorros_500)
ggarrange(g1,g2, g3,labels = c("A", "B(N=5)", "C(N=500)"),ncol = 3, nrow = 1, widths = c(2, 1.5,1.5))
plot(density(posibles_p_gorros_5),xlim=c(0, 1), ylim=c(0, 26), lwd=3)
lines(density(posibles_p_gorros_10), lwd=3, col='blue')
lines(density(posibles_p_gorros_15), lwd=3, col='red')
lines(density(posibles_p_gorros_20), lwd=3, col='green')
lines(density(posibles_p_gorros_30), lwd=3, col='purple')
lines(density(posibles_p_gorros_50), lwd=3, col='orange')
lines(density(posibles_p_gorros_60), lwd=3, col='yellow')
lines(density(posibles_p_gorros_100), lwd=3, col='gray')
lines(density(posibles_p_gorros_200), lwd=3, col='cyan')
lines(density(posibles_p_gorros_500), lwd=3, col='magenta')
legend(x = "topright",legend = c("N=5","N=10","N=15","N=20","N=30","N=50","N=60","N=100","N=200","N=500"), col = c("black","blue", "red","green", "purple", "orange", "yellow","gray","cyan","magenta"),lwd = 4 )
#--------------------------------------ANÁLISIS---------------------------------------------
#En cuanto a normalidad se puede observar que el p_value incrementa a medida que incrementa el tamaño de muestra como se observa en el gráfico A. Esto quiere decir que entre más pequeño es el p_value, más se aleja de la hipótesis nula (P=0.5). En los gráficos QQ para normalidad (B y C) se compara para muestras de n=5 y n=500 respectivamente, se observa que a medida que aumenta el tamaño de muestras los puntos se distribuyen cerca a la linea, lo que es un síntoma de normalidad. Finalmente, en el diagrama de densidad se evidencia cómo a medida que aumenta el tamaño de muestra, los datos se distribuyen en forma de campana de Gauss.
#-------------------------------------------------------------------------------------------
#-------------------------------------------------------------------------------------------
#Población 10% enfermos, 90% sanos
require(ggplot2)
poblacion_10_90 = c(rep("enfermo",100),rep("sano" , 900))
calc_p_gorro_10_90=function(n){
muestra=sample(poblacion_10_90,size = n)
p_gorro=sum(muestra=="enfermo")/n
return(p_gorro)
}
posibles_p_gorros_10_90 = sapply(rep(100,500),calc_p_gorro_10_90)
resumen = summary(posibles_p_gorros_10_90)
Coeficiente_asimetria_Pearson_CAP = 3*(mean(posibles_p_gorros_10_90)-median(posibles_p_gorros_10_90))/sd(posibles_p_gorros_10_90)
Varianza= var(posibles_p_gorros_10_90)
Desviacion = sd(posibles_p_gorros_10_90)
Coeficiente_variación_CV = sd(posibles_p_gorros_10_90)/mean(posibles_p_gorros_10_90)*100
resultados = data.frame(Coeficiente_asimetria_Pearson_CAP, Varianza, Desviacion, Coeficiente_variación_CV)
resumen
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0200 0.0800 0.1000 0.1006 0.1200 0.1900
resultados
| Coeficiente_asimetria_Pearson_CAP | Varianza | Desviacion | Coeficiente_variación_CV |
|---|---|---|---|
| 0.0665058 | 0.0007822 | 0.0279675 | 27.79515 |
hist(posibles_p_gorros_10_90)
abline(v=median(posibles_p_gorros_10_90), col="blue", lwd=2)
abline(v=mean(posibles_p_gorros_10_90), col="red", lwd=2)
legend(x ="topright",legend = c("media", "mediana"), col = c("red", "blue"),lwd = 4 )
#----------------------------
require(ggpubr)
posibles_p_gorros_5 = sapply(rep(5,500),calc_p_gorro_10_90)
posibles_p_gorros_10 = sapply(rep(10,500),calc_p_gorro_10_90)
posibles_p_gorros_15 = sapply(rep(15,500),calc_p_gorro_10_90)
posibles_p_gorros_20 = sapply(rep(20,500),calc_p_gorro_10_90)
posibles_p_gorros_30 = sapply(rep(30,500),calc_p_gorro_10_90)
posibles_p_gorros_50 = sapply(rep(50,500),calc_p_gorro_10_90)
posibles_p_gorros_60 = sapply(rep(60,500),calc_p_gorro_10_90)
posibles_p_gorros_100 = sapply(rep(100,500),calc_p_gorro_10_90)
posibles_p_gorros_200 = sapply(rep(200,500),calc_p_gorro_10_90)
posibles_p_gorros_500 = sapply(rep(500,500),calc_p_gorro_10_90)
p_value_5 =shapiro.test(posibles_p_gorros_5)$p.value
p_value_10 =shapiro.test(posibles_p_gorros_10)$p.value
p_value_15 =shapiro.test(posibles_p_gorros_15)$p.value
p_value_20 =shapiro.test(posibles_p_gorros_20)$p.value
p_value_30 =shapiro.test(posibles_p_gorros_30)$p.value
p_value_50 =shapiro.test(posibles_p_gorros_50)$p.value
p_value_60 =shapiro.test(posibles_p_gorros_60)$p.value
p_value_100 =shapiro.test(posibles_p_gorros_100)$p.value
p_value_200 =shapiro.test(posibles_p_gorros_200)$p.value
p_value_500 =shapiro.test(posibles_p_gorros_500)$p.value
vector_p_value = c(p_value_5, p_value_10, p_value_15, p_value_20, p_value_30, p_value_50, p_value_60,p_value_100,p_value_200,p_value_500 )
tamaño_muestra= c(5,10,15,20,30,50,60,100,200,500)
datos_p_value=data.frame(vector_p_value,tamaño_muestra)
g4 = ggplot(datos_p_value, aes(y=vector_p_value, x=tamaño_muestra)) + geom_line()+ geom_point()
g5 =ggqqplot(posibles_p_gorros_5)
g6 =ggqqplot(posibles_p_gorros_500)
ggarrange(g4,g5, g6,labels = c("D", "E(N=5)", "F(N=500)"),ncol = 3, nrow = 1, widths = c(2, 1.5,1.5))
plot(density(posibles_p_gorros_5),xlim=c(0, 0.5), ylim=c(0, 35))
lines(density(posibles_p_gorros_10), lwd=3, col='blue')
lines(density(posibles_p_gorros_15), lwd=3, col='red')
lines(density(posibles_p_gorros_20), lwd=3, col='green')
lines(density(posibles_p_gorros_30), lwd=3, col='purple')
lines(density(posibles_p_gorros_50), lwd=3, col='orange')
lines(density(posibles_p_gorros_60), lwd=3, col='yellow')
lines(density(posibles_p_gorros_100), lwd=3, col='gray')
lines(density(posibles_p_gorros_200), lwd=3, col='cyan')
lines(density(posibles_p_gorros_500), lwd=3, col='magenta')
legend(x ="topright",legend = c("N=5","N=10","N=15","N=20","N=30","N=50","N=60","N=100","N=200","N=500"), col = c("black","blue", "red","green", "purple", "orange", "yellow","gray","cyan","magenta"),lwd = 4 )
#Población 90% enfermos, 10% sanos
require(ggplot2)
poblacion_90_10 = c(rep("enfermo",900),rep("sano" , 100))
calc_p_gorro_90_10=function(n){
muestra=sample(poblacion_90_10,size = n)
p_gorro=sum(muestra=="enfermo")/n
return(p_gorro)
}
posibles_p_gorros_90_10 = sapply(rep(100,500),calc_p_gorro_90_10)
resumen = summary(posibles_p_gorros_90_10)
Coeficiente_asimetria_Pearson_CAP = 3*(mean(posibles_p_gorros_90_10)-median(posibles_p_gorros_90_10))/sd(posibles_p_gorros_90_10)
Varianza= var(posibles_p_gorros_90_10)
Desviacion = sd(posibles_p_gorros_90_10)
Coeficiente_variación_CV = sd(posibles_p_gorros_90_10)/mean(posibles_p_gorros_90_10)*100
resultados = data.frame(Coeficiente_asimetria_Pearson_CAP, Varianza, Desviacion, Coeficiente_variación_CV)
resumen
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.8200 0.8800 0.9000 0.8992 0.9200 0.9800
resultados
| Coeficiente_asimetria_Pearson_CAP | Varianza | Desviacion | Coeficiente_variación_CV |
|---|---|---|---|
| -0.0834032 | 0.0007872 | 0.0280565 | 3.12009 |
hist(posibles_p_gorros_90_10)
abline(v=mean(posibles_p_gorros_90_10), col="red", lwd=4)
abline(v=median(posibles_p_gorros_90_10), col="blue", lwd=4)
legend(x = "topright",legend = c("media", "mediana"), col = c("red", "blue"),lwd = 4 )
#----------------------------
require(ggpubr)
posibles_p_gorros_5 = sapply(rep(5,500),calc_p_gorro_90_10)
posibles_p_gorros_10 = sapply(rep(10,500),calc_p_gorro_90_10)
posibles_p_gorros_15 = sapply(rep(15,500),calc_p_gorro_90_10)
posibles_p_gorros_20 = sapply(rep(20,500),calc_p_gorro_90_10)
posibles_p_gorros_30 = sapply(rep(30,500),calc_p_gorro_90_10)
posibles_p_gorros_50 = sapply(rep(50,500),calc_p_gorro_90_10)
posibles_p_gorros_60 = sapply(rep(60,500),calc_p_gorro_90_10)
posibles_p_gorros_100 = sapply(rep(100,500),calc_p_gorro_90_10)
posibles_p_gorros_200 = sapply(rep(200,500),calc_p_gorro_90_10)
posibles_p_gorros_500 = sapply(rep(500,500),calc_p_gorro_90_10)
p_value_5 =shapiro.test(posibles_p_gorros_5)$p.value
p_value_10 =shapiro.test(posibles_p_gorros_10)$p.value
p_value_15 =shapiro.test(posibles_p_gorros_15)$p.value
p_value_20 =shapiro.test(posibles_p_gorros_20)$p.value
p_value_30 =shapiro.test(posibles_p_gorros_30)$p.value
p_value_50 =shapiro.test(posibles_p_gorros_50)$p.value
p_value_60 =shapiro.test(posibles_p_gorros_60)$p.value
p_value_100 =shapiro.test(posibles_p_gorros_100)$p.value
p_value_200 =shapiro.test(posibles_p_gorros_200)$p.value
p_value_500 =shapiro.test(posibles_p_gorros_500)$p.value
vector_p_value = c(p_value_5, p_value_10, p_value_15, p_value_20, p_value_30, p_value_50, p_value_60,p_value_100,p_value_200,p_value_500 )
tamaño_muestra= c(5,10,15,20,30,50,60,100,200,500)
datos_p_value=data.frame(vector_p_value,tamaño_muestra)
g7 = ggplot(datos_p_value, aes(y=vector_p_value, x=tamaño_muestra)) + geom_line()+ geom_point()
g8 =ggqqplot(posibles_p_gorros_5)
g9 =ggqqplot(posibles_p_gorros_500)
ggarrange(g7,g8, g9,labels = c("G", "H(N=5)", "I(N=500)"),ncol = 3, nrow = 1, widths = c(2, 1.5,1.5))
plot(density(posibles_p_gorros_5),xlim=c(0.5,1), ylim=c(0, 35))
lines(density(posibles_p_gorros_10), lwd=3, col='blue')
lines(density(posibles_p_gorros_15), lwd=3, col='red')
lines(density(posibles_p_gorros_20), lwd=3, col='green')
lines(density(posibles_p_gorros_30), lwd=3, col='purple')
lines(density(posibles_p_gorros_50), lwd=3, col='orange')
lines(density(posibles_p_gorros_60), lwd=3, col='yellow')
lines(density(posibles_p_gorros_100), lwd=3, col='gray')
lines(density(posibles_p_gorros_200), lwd=3, col='cyan')
lines(density(posibles_p_gorros_500), lwd=3, col='magenta')
legend(x = "topleft",legend = c("N=5","N=10","N=15","N=20","N=30","N=50","N=60","N=100","N=200","N=500"), col = c("black","blue", "red","green", "purple", "orange", "yellow","gray","cyan","magenta"),lwd = 4 )
Análisis General
ggarrange(g1,g4, g7,labels = c("50-50", "10-90", "90-10"),ncol = 3, nrow = 1, widths = c(1.5, 1.5,1.5))
#--------------------------------------ANÁLISIS---------------------------------------------
#En cuanto a normalidad se puede observar que el p_value incrementa a medida que incrementa el tamaño de muestra como se observa en los gráficos anteriores para cada proporción. Sin embargo, la proporción 50-50 es la única que evidencia normalidad a partir de tamaños de muestra N>200, mientras que el p_value en las proporciones 10-90 y 90-10 aún con un tamaño de muestra n=500 indica que se rechaza la hipótesis nula, por tanto existe poca probabilidad de que sigan una distribución normal.
#-------------------------------------------------------------------------------------------
Lote1=c(rep("enfermas", 100),rep("sanas", 900))
Lote2=c(rep("enfermas", 150),rep("sanas", 1350))
diferencia=function(n1){
n2=n1
muestra1= sample(Lote1, size = n1)
P1=sum(muestra1=="enfermas")/n1
muestra2= sample(Lote2, size = n2)
P2=sum(muestra2=="enfermas")/n2
dif=P1-P2
return(dif)
}
dif_p=sapply(rep(200,500),diferencia)
resumen = summary(dif_p)
Coeficiente_asimetria_Pearson_CAP = 3*(mean(dif_p)-median(dif_p))/sd(dif_p)
Varianza= var(dif_p)
Desviacion = sd(dif_p)
resultados = data.frame(Coeficiente_asimetria_Pearson_CAP, Varianza, Desviacion)
resumen
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -0.08500 -0.02000 0.00000 0.00006 0.01625 0.08500
resultados
| Coeficiente_asimetria_Pearson_CAP | Varianza | Desviacion |
|---|---|---|
| 0.0065461 | 0.0007561 | 0.0274974 |
#--------------------------------------ANÁLISIS---------------------------------------------
# Para una muestra de n=200 y 500 repeticiones, se observa que la media y la mediana son muy similares, esto es un síntoma de simetría que se puede observar en el histograma, en donde la media se representa por la linea de color rojo y la mediana con color azul; el coeficiente de asimetría de Pearson CAP indica que la distribución es simétrica ya que CAP ≈ 0. En el histograma se observa que no existe sesgo (o es muy leve dado que el CAP es muy cercano a cero), la media de la muestra es muy similar a la media real , los datos se distribuyen con una alta simetría.
#Las diferencias no son siempre cero, de echo existe una desviación (de 0.03 ) aproximadamente y el rango entre el primer y tercer cuartil varia entre -0.07 y -0.04 aproximadamente.
#-------------------------------------------------------------------------------------------
hist(dif_p)
abline(v=median(dif_p), col="blue", lwd=2)
abline(v=mean(dif_p), col="red", lwd=2)
legend(x ="topright",legend = c("media", "mediana"), col = c("red", "blue"),lwd = 4 )
require(ggplot2)
dif_p_n5 =sapply(rep(5,500),diferencia)
dif_p_n10 =sapply(rep(10,500),diferencia)
dif_p_n15 =sapply(rep(15,500),diferencia)
dif_p_n20 =sapply(rep(20,500),diferencia)
dif_p_n30 =sapply(rep(30,500),diferencia)
dif_p_n50 =sapply(rep(50,500),diferencia)
dif_p_n60 =sapply(rep(60,500),diferencia)
dif_p_n100 =sapply(rep(100,500),diferencia)
dif_p_n200 =sapply(rep(200,500),diferencia)
dif_p_n500 =sapply(rep(500,500),diferencia)
media_dif_n5 = mean(dif_p_n5)
media_dif_n10 = mean(dif_p_n10)
media_dif_n15 = mean(dif_p_n15)
media_dif_n20 = mean(dif_p_n20)
media_dif_n30 = mean(dif_p_n30)
media_dif_n50 = mean(dif_p_n50)
media_dif_n60 = mean(dif_p_n60)
media_dif_n100 = mean(dif_p_n100)
media_dif_n200 = mean(dif_p_n200)
media_dif_n500 = mean(dif_p_n500)
vector_media_dif = c(media_dif_n5, media_dif_n10, media_dif_n15, media_dif_n20, media_dif_n30, media_dif_n50, media_dif_n60,media_dif_n100,media_dif_n200,media_dif_n500 )
tamaño_muestra= c(5,10,15,20,30,50,60,100,200,500)
datos_p_value=data.frame(vector_media_dif,tamaño_muestra)
g10 = ggplot(datos_p_value, aes(x=tamaño_muestra, y=vector_media_dif)) + geom_line()+ geom_point()
p_value_n5 =shapiro.test(dif_p_n5)$p.value
p_value_n10 =shapiro.test(dif_p_n10)$p.value
p_value_n15 =shapiro.test(dif_p_n15)$p.value
p_value_n20 =shapiro.test(dif_p_n20)$p.value
p_value_n30 =shapiro.test(dif_p_n30)$p.value
p_value_n50 =shapiro.test(dif_p_n50)$p.value
p_value_n60 =shapiro.test(dif_p_n60)$p.value
p_value_n100 =shapiro.test(dif_p_n100)$p.value
p_value_n200 =shapiro.test(dif_p_n200)$p.value
p_value_n500 =shapiro.test(dif_p_n500)$p.value
vector_p_value = c(p_value_n5, p_value_n10, p_value_n15, p_value_n20, p_value_n30, p_value_n50, p_value_n60,p_value_n100,p_value_n200,p_value_n500 )
tamaño_muestra= c(5,10,15,20,30,50,60,100,200,500)
datos_p_value=data.frame(vector_p_value,tamaño_muestra)
g11 = ggplot(datos_p_value, aes(y=vector_p_value, x=tamaño_muestra)) + geom_line()+ geom_point()
require(ggpubr)
ggarrange(g10, g11,labels = c("media según N", "p-value según N"),ncol = 2, nrow = 1, widths = c(1.5, 1.5))
#--------------------------------------ANÁLISIS---------------------------------------------
#A medida que incrementa el tamaño de muestra N, la media de las diferencias tiende a cero como se observa en el gráfico "media según N", esto es evidencia de que el tamaño de muestra afecta el resultado del analisis y que entre mas grande sea N, existe mas confiabilidad en los resultados.
#En cuanto a normalidad se puede observar que el p_value incrementa a medida que incrementa el tamaño de muestra como se observa en el gráfico "p-value según N", mientras que entre mas pequeño es el p-value, más se aleja de la hipótesis nula (P=0). Ademas en el gráfico de densidad se observa cómo a medida que aumenta N, se observa forma de campana de Gauss.
#En general se puede concluir con una muestra de N=500 que el tratamiento realizado en el Lote1 presentó un desempeño similar con respecto al Lote2, ya que al aumentar el tamaño de la muestra la diferencia tiende a cero.
#-------------------------------------------------------------------------------------------
plot(density(dif_p_n5),xlim=c(-0.5, 0.5), ylim=c(0, 30))
lines(density(dif_p_n10), lwd=3, col='blue')
lines(density(dif_p_n15), lwd=3, col='red')
lines(density(dif_p_n20), lwd=3, col='green')
lines(density(dif_p_n30), lwd=3, col='purple')
lines(density(dif_p_n50), lwd=3, col='orange')
lines(density(dif_p_n60), lwd=3, col='yellow')
lines(density(dif_p_n100), lwd=3, col='gray')
lines(density(dif_p_n200), lwd=3, col='cyan')
lines(density(dif_p_n500), lwd=3, col='magenta')
legend(x = "topright",legend = c("N=5","N=10","N=15","N=20","N=30","N=50","N=60","N=100","N=200","N=500"), col = c("black","blue", "red","green", "purple", "orange", "yellow","gray","cyan","magenta"),lwd = 4 )
Lote1=c(rep("enfermas", 100),rep("sanas", 900))
Lote2=c(rep("enfermas", 225),rep("sanas", 1275))
require(ggplot2)
dif_p_n5 =sapply(rep(5,500),diferencia)
dif_p_n10 =sapply(rep(10,500),diferencia)
dif_p_n15 =sapply(rep(15,500),diferencia)
dif_p_n20 =sapply(rep(20,500),diferencia)
dif_p_n30 =sapply(rep(30,500),diferencia)
dif_p_n50 =sapply(rep(50,500),diferencia)
dif_p_n60 =sapply(rep(60,500),diferencia)
dif_p_n100 =sapply(rep(100,500),diferencia)
dif_p_n200 =sapply(rep(200,500),diferencia)
dif_p_n500 =sapply(rep(500,500),diferencia)
media_dif_n5 = mean(dif_p_n5)
media_dif_n10 = mean(dif_p_n10)
media_dif_n15 = mean(dif_p_n15)
media_dif_n20 = mean(dif_p_n20)
media_dif_n30 = mean(dif_p_n30)
media_dif_n50 = mean(dif_p_n50)
media_dif_n60 = mean(dif_p_n60)
media_dif_n100 = mean(dif_p_n100)
media_dif_n200 = mean(dif_p_n200)
media_dif_n500 = mean(dif_p_n500)
vector_media_dif = c(media_dif_n5, media_dif_n10, media_dif_n15, media_dif_n20, media_dif_n30, media_dif_n50, media_dif_n60,media_dif_n100,media_dif_n200,media_dif_n500 )
tamaño_muestra= c(5,10,15,20,30,50,60,100,200,500)
datos_p_value=data.frame(vector_media_dif,tamaño_muestra)
g10 = ggplot(datos_p_value, aes(x=tamaño_muestra, y=vector_media_dif)) + geom_line()+ geom_point()
p_value_n5 =shapiro.test(dif_p_n5)$p.value
p_value_n10 =shapiro.test(dif_p_n10)$p.value
p_value_n15 =shapiro.test(dif_p_n15)$p.value
p_value_n20 =shapiro.test(dif_p_n20)$p.value
p_value_n30 =shapiro.test(dif_p_n30)$p.value
p_value_n50 =shapiro.test(dif_p_n50)$p.value
p_value_n60 =shapiro.test(dif_p_n60)$p.value
p_value_n100 =shapiro.test(dif_p_n100)$p.value
p_value_n200 =shapiro.test(dif_p_n200)$p.value
p_value_n500 =shapiro.test(dif_p_n500)$p.value
vector_p_value = c(p_value_n5, p_value_n10, p_value_n15, p_value_n20, p_value_n30, p_value_n50, p_value_n60,p_value_n100,p_value_n200,p_value_n500 )
tamaño_muestra= c(5,10,15,20,30,50,60,100,200,500)
datos_p_value=data.frame(vector_p_value,tamaño_muestra)
g11 = ggplot(datos_p_value, aes(y=vector_p_value, x=tamaño_muestra)) + geom_line()+ geom_point()
plot(density(dif_p_n5),xlim=c(-0.5, 0.5), ylim=c(0, 30))
lines(density(dif_p_n10), lwd=3, col='blue')
lines(density(dif_p_n15), lwd=3, col='red')
lines(density(dif_p_n20), lwd=3, col='green')
lines(density(dif_p_n30), lwd=3, col='purple')
lines(density(dif_p_n50), lwd=3, col='orange')
lines(density(dif_p_n60), lwd=3, col='yellow')
lines(density(dif_p_n100), lwd=3, col='gray')
lines(density(dif_p_n200), lwd=3, col='cyan')
lines(density(dif_p_n500), lwd=3, col='magenta')
legend(x = "topright",legend = c("N=5","N=10","N=15","N=20","N=30","N=50","N=60","N=100","N=200","N=500"), col = c("black","blue", "red","green", "purple", "orange", "yellow","gray","cyan","magenta"),lwd = 4 )
require(ggpubr)
ggarrange(g10, g11,labels = c("media según N", "p-value según N"),ncol = 2, nrow = 1, widths = c(1.5, 1.5))
#--------------------------------------ANÁLISIS---------------------------------------------
#A medida que incrementa el tamaño de muestra N, la media de las diferencias tiende a -0.05 como se observa en el gráfico "media según N", esto es evidencia de que el tamaño de muestra afecta el resultado del análisis y que entre mas grande sea N, existe mas confiabilidad en los resultados.
#En cuanto a normalidad se puede observar que el p_value incrementa a medida que incrementa el tamaño de muestra como se observa en el gráfico "p-value según N", mientras que entre mas pequeño es el p-value, más se aleja de la hipótesis nula (P=-0.05). Ademas en el gráfico de densidad se observa cómo a medida que aumenta N, se observa forma de campana de Gauss.
#En general se puede concluir con una muestra de N=500 que el tratamiento realizado en el Lote1 presentó un mejor desempeño reduciendo alrededor del 5% el porcentaje de enfermos con respecto al Lote2 ya que al aumentar el tamaño de la muestra el valor de la diferencia tiene a -0.05.
#-------------------------------------------------------------------------------------------
summary(dif_p_n500)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -0.09800 -0.06200 -0.05000 -0.05046 -0.04000 0.00000
En sus casi nueve décadas de su existencia, los valores p siempre han sufrido criticas relacionadas con lo errores que pueden surgir al utilizar este conocimiento como si fuese una ley. Stephen Ziliak, economista de la Universidad Roosevelt en Chicago, Illinois, afirma que: “Los valores P no están haciendo su trabajo, porque no pueden”. Cuando Ronald Fisher dio a conocer el valor p en la década de 1920 no pretendía que este sea una prueba definitiva, simplemente quería brindar una forma informal que permita saber si la evidencia era significativa para tomar decisiones basadas en datos. Fisher sugirió que cuanto más pequeño era el valor p, mayor era la probabilidad de que la hipótesis nula fuera falsa. Posteriormente, el valor p de 0.05 se consagró como “estadísticamente significativo”.
El termino P-hacking hace referencia a probar cosas hasta obtener el resultado deseado aunque este sea inconsistente. En un análisis se encontró que muchos artículos de psicología publicados reportan valores P que se agrupan de una forma sospechosa alrededor de 0.05, en otras palabras, los investigadores usan p-hacking con el fin de obtener valores p significativos a como de lugar.
Dada la popularidad de usar valor p en investigaciones se ha encontrado que muchos de los hallazgos publicados no son ciertos. Los estadísticos señalan una serie de medidas que pueden ayudar, como conocer el tamaño del efecto y sus intervalos de confianza, ya que esta información transmite lo que no hace el valor p.
Goodman afirma que los investigadores deben darse cuenta de los límites de las estadísticas convencionales, un método no va a resolver todas las incógnitas que se puedan presentar en un análisis de datos, “Los números son donde la discusión científica debe comenzar, no terminar”.
Como reflexión personal, considero que un análisis estadístico confiable debe hacer uso de todas las herramientas que brinda la estadística, no se puede solo realizar pruebas de hipótesis y concluir o tomar decisiones únicamente con el valor p; es necesario contemplar intervalos de confianza, considerar métodos como la regla de bayes, entre otros, y sobre todo nunca incurrir en p-hacking para arreglar los resultados.