# Función global para el proceso
ejecutar_proceso <- function(p_enferma) {
# Generar población
poblacion <- rbinom(1000, 1, p_enferma)
# Función para obtener muestras aleatorias y estimador pˆ (media)
obtener_muestra <- function(poblacion, n_muestra) {
muestra <- sample(poblacion, n_muestra, replace=TRUE)
media <- mean(muestra)
return(media)
}
n_muestra <- c(5, 10, 15, 20, 30, 50, 60, 100, 200, 500)
resultados <- data.frame()
for (n in n_muestra) {
p_muestras <- replicate(500, obtener_muestra(poblacion, n))
media_n <- mean(p_muestras)
sesgo <- media_n - p_enferma
varianza <- var(p_muestras)
p_value <- shapiro.test(p_muestras)$p.value
resultados <- rbind(resultados, data.frame(Muestra=n, Media=media_n, Sesgo=sesgo, Varianza=varianza, PValueShapiro=p_value))
}
print(resultados)
n_interes <- c(5, 15, 30, 50, 100, 500)
for (n in n_interes) {
p_muestras <- replicate(500, obtener_muestra(poblacion, n))
qqnorm(p_muestras, main=paste("QQ-plot para n =", n))
qqline(p_muestras)
}
for (n in n_interes) {
p_muestras <- replicate(500, obtener_muestra(poblacion, n))
hist(p_muestras, main=paste("Histograma para n =", n), xlab="Proporción Muestral", xlim=c(0,1), breaks=30)
}
}
set.seed(123)
ejecutar_proceso(0.50)
## Muestra Media Sesgo Varianza PValueShapiro
## 1 5 0.5076000 0.007600000 0.0502026453 1.195804e-14
## 2 10 0.4862000 -0.013800000 0.0235566733 4.193845e-10
## 3 15 0.4864000 -0.013600000 0.0172985259 2.761410e-07
## 4 20 0.5051000 0.005100000 0.0122434770 1.497441e-06
## 5 30 0.4941333 -0.005866667 0.0081017858 2.570845e-05
## 6 50 0.5001600 0.000160000 0.0053081908 1.042764e-02
## 7 60 0.4961000 -0.003900000 0.0039454587 2.876043e-03
## 8 100 0.4962000 -0.003800000 0.0023278156 6.609927e-02
## 9 200 0.4918500 -0.008150000 0.0011769815 2.170338e-02
## 10 500 0.4949240 -0.005076000 0.0004253169 5.683287e-01
set.seed(123)
ejecutar_proceso(0.10)
## Muestra Media Sesgo Varianza PValueShapiro
## 1 5 0.09200000 -0.008000000 0.0173306613 1.750181e-29
## 2 10 0.08360000 -0.016400000 0.0068647695 1.198722e-23
## 3 15 0.09240000 -0.007600000 0.0053484925 1.408444e-18
## 4 20 0.09580000 -0.004200000 0.0042709018 2.938466e-16
## 5 30 0.09566667 -0.004333333 0.0027979292 4.284825e-11
## 6 50 0.09448000 -0.005520000 0.0018083463 4.702427e-08
## 7 60 0.09236667 -0.007633333 0.0014551982 8.863121e-08
## 8 100 0.09390000 -0.006100000 0.0008186273 1.987376e-05
## 9 200 0.09004000 -0.009960000 0.0004031046 1.458361e-03
## 10 500 0.09289200 -0.007108000 0.0001569342 1.050598e-01
set.seed(123)
ejecutar_proceso(0.90)
## Muestra Media Sesgo Varianza PValueShapiro
## 1 5 0.9080000 0.008000000 0.0173306613 1.750181e-29
## 2 10 0.9164000 0.016400000 0.0068647695 1.198722e-23
## 3 15 0.9076000 0.007600000 0.0053484925 1.408444e-18
## 4 20 0.9042000 0.004200000 0.0042709018 2.938466e-16
## 5 30 0.9043333 0.004333333 0.0027979292 4.284825e-11
## 6 50 0.9055200 0.005520000 0.0018083463 4.702427e-08
## 7 60 0.9076333 0.007633333 0.0014551982 8.863121e-08
## 8 100 0.9061000 0.006100000 0.0008186273 1.987376e-05
## 9 200 0.9099600 0.009960000 0.0004031046 1.458361e-03
## 10 500 0.9071080 0.007108000 0.0001569342 1.050598e-01