poblacion = 1000
plantasEnfermas = 0.5
poblacionSanas = 0.5
funcionPoblacion = function(tamaño = poblacion, sanos= poblacionSanas, enfermas=plantasEnfermas){
enfermos = tamaño*enfermas
sanos = tamaño*sanos
cantidad = c(rep("enfermos", enfermos), rep("sanos",sanos))
print(paste("Poblacion: ",poblacion))
print(paste("Plantas sanas: ",sanos))
print(paste("Plantas enfermas: ",enfermos))
return(cantidad)
}
Lote = funcionPoblacion(1000,0.5,0.5)
## [1] "Poblacion: 1000"
## [1] "Plantas sanas: 500"
## [1] "Plantas enfermas: 500"
Genere una función que permita: - Obtener una muestra aleatoria de la población y - Calcule el estimador de la proporción muestral pˆpara un tamaño de muestra dado n.
generacionMuestra = function(poblacion, tamaño, estado){
if(length(poblacion >= tamaño)){
muestraAleatoria = sample(poblacion, tamaño)
proporcionMuestral = sum(muestraAleatoria == estado)/tamaño
return(proporcionMuestral)
}
}
intoTamaño = 400
Gm = generacionMuestra(Lote,intoTamaño,"enfermos")
print(paste( " Estimador de la proporcion:",Gm))
## [1] " Estimador de la proporcion: 0.49"
intoTamaño = 400
generacionMuestraIterada = function(poblacion, tamaño, estado, iteraciones){
if(tamaño<=length(poblacion)){
muestraIterada = array(NA,iteraciones)
for(i in 1:iteraciones){
muestraIterada[i]= generacionMuestra(poblacion, tamaño, estado)
}
return(muestraIterada)
}
}
iteracion = 500
iterMuestras = generacionMuestraIterada(Lote,intoTamaño,"enfermos",iteracion)
hist(iterMuestras, prob = TRUE, main = "Histograma")
line = mean(iterMuestras)
abline(v=line, col="orange")
lines(density(iterMuestras), col = 3, lwd = 3)
summary(iterMuestras)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.4500 0.4875 0.5000 0.4996 0.5125 0.5625
print(paste("varianza: ", var(iterMuestras)))
## [1] "varianza: 0.000377060996993988"
print(paste("Asimetria: ", skewness(iterMuestras)))
## [1] "Asimetria: 0.191771277499877"
De lo anterior se puede observar que el comportamiento de los 500 resultados del estimador con un tamaño de 400 da un resultado simetrico ya que la media es de 0.5010 y la mediana es de 0.5025 pero su coeficiente de cimetria es distinto de 0
d_muestras = c(5,10,15,20,30,50,60,100,200,500)
for(i in 1: length(d_muestras)){
d2_muestras = generacionMuestraIterada(Lote,d_muestras[i],"enfermos",iteracion)
hist(d2_muestras, las=1, ylab = "Frecuencia", main = paste("Muestra de tamaño:", d_muestras[i]), col = "orange",prob = TRUE)
abline(v=mean(d2_muestras), col="black")
lines(density(d2_muestras), col = "black")
qqnorm(d2_muestras, xlab="Cuantiles", ylab="Cuantiles muestrales",main="qq-normalidad")
qqline(d2_muestras,col = "red", lwd = 2, lty = 2)
print(paste('muestra: ', d_muestras[i]))
print(shapiro.test(d_muestras))
}
## [1] "muestra: 5"
##
## Shapiro-Wilk normality test
##
## data: d_muestras
## W = 0.65422, p-value = 0.0002467
## [1] "muestra: 10"
##
## Shapiro-Wilk normality test
##
## data: d_muestras
## W = 0.65422, p-value = 0.0002467
## [1] "muestra: 15"
##
## Shapiro-Wilk normality test
##
## data: d_muestras
## W = 0.65422, p-value = 0.0002467
## [1] "muestra: 20"
##
## Shapiro-Wilk normality test
##
## data: d_muestras
## W = 0.65422, p-value = 0.0002467
## [1] "muestra: 30"
##
## Shapiro-Wilk normality test
##
## data: d_muestras
## W = 0.65422, p-value = 0.0002467
## [1] "muestra: 50"
##
## Shapiro-Wilk normality test
##
## data: d_muestras
## W = 0.65422, p-value = 0.0002467
## [1] "muestra: 60"
##
## Shapiro-Wilk normality test
##
## data: d_muestras
## W = 0.65422, p-value = 0.0002467
## [1] "muestra: 100"
##
## Shapiro-Wilk normality test
##
## data: d_muestras
## W = 0.65422, p-value = 0.0002467
## [1] "muestra: 200"
##
## Shapiro-Wilk normality test
##
## data: d_muestras
## W = 0.65422, p-value = 0.0002467
## [1] "muestra: 500"
##
## Shapiro-Wilk normality test
##
## data: d_muestras
## W = 0.65422, p-value = 0.0002467
Lote2 = funcionPoblacion(1000,0.9,0.1)
## [1] "Poblacion: 1000"
## [1] "Plantas sanas: 900"
## [1] "Plantas enfermas: 100"
intoTamaño2 = 300
Muestra2 = generacionMuestra(Lote2,intoTamaño2,"enfermos")
print(paste("Muestra de tamaño: ", intoTamaño2, " Estimador de la proporcion:",Muestra2))
## [1] "Muestra de tamaño: 300 Estimador de la proporcion: 0.0866666666666667"
iterMuestras2 = generacionMuestraIterada(Lote2,intoTamaño2,"enfermos",iteracion)
hist(iterMuestras2, prob = TRUE, main = "Histograma - Punto E")
line = mean(iterMuestras2)
abline(v=line, col="green")
lines(density(iterMuestras2), col = 3, lwd = 3)
summary(iterMuestras2)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.060 0.090 0.100 0.101 0.110 0.150
print(paste("varianza: ", var(iterMuestras2)))
## [1] "varianza: 0.000219669739478958"
print(paste("Asimetria: ", skewness(iterMuestras2)))
## [1] "Asimetria: 0.100350568595783"
d_muestras2 = c(5,10,15,20,30,50,60,100,200,500)
for(i in 1: length(d_muestras2)){
d3_muestras = generacionMuestraIterada(Lote,d_muestras2[i],"enfermos",iteracion)
hist(d3_muestras, las=1, ylab = "Frecuencia", main = paste("Muestra de tamaño:", d_muestras2[i]), col = "brown",prob = TRUE)
abline(v=mean(d3_muestras), col="black")
lines(density(d3_muestras), col = "black")
qqnorm(d3_muestras, xlab="Cuantiles", ylab="Cuantiles muestrales",main="qq-normalidad")
qqline(d3_muestras,col = "pink", lwd = 2, lty = 2)
print(paste('muestra: ', d_muestras2[i]))
print(shapiro.test(d_muestras2))
}
## [1] "muestra: 5"
##
## Shapiro-Wilk normality test
##
## data: d_muestras2
## W = 0.65422, p-value = 0.0002467
## [1] "muestra: 10"
##
## Shapiro-Wilk normality test
##
## data: d_muestras2
## W = 0.65422, p-value = 0.0002467
## [1] "muestra: 15"
##
## Shapiro-Wilk normality test
##
## data: d_muestras2
## W = 0.65422, p-value = 0.0002467
## [1] "muestra: 20"
##
## Shapiro-Wilk normality test
##
## data: d_muestras2
## W = 0.65422, p-value = 0.0002467
## [1] "muestra: 30"
##
## Shapiro-Wilk normality test
##
## data: d_muestras2
## W = 0.65422, p-value = 0.0002467
## [1] "muestra: 50"
##
## Shapiro-Wilk normality test
##
## data: d_muestras2
## W = 0.65422, p-value = 0.0002467
## [1] "muestra: 60"
##
## Shapiro-Wilk normality test
##
## data: d_muestras2
## W = 0.65422, p-value = 0.0002467
## [1] "muestra: 100"
##
## Shapiro-Wilk normality test
##
## data: d_muestras2
## W = 0.65422, p-value = 0.0002467
## [1] "muestra: 200"
##
## Shapiro-Wilk normality test
##
## data: d_muestras2
## W = 0.65422, p-value = 0.0002467
## [1] "muestra: 500"
##
## Shapiro-Wilk normality test
##
## data: d_muestras2
## W = 0.65422, p-value = 0.0002467
Lote3 = funcionPoblacion(1000,0.1,0.9)
## [1] "Poblacion: 1000"
## [1] "Plantas sanas: 100"
## [1] "Plantas enfermas: 900"
intoTamaño3 = 300
Muestra3 = generacionMuestra(Lote3,intoTamaño3,"enfermos")
print(paste("Muestra de tamaño: ", intoTamaño3, " Estimador de la proporcion:",Muestra3))
## [1] "Muestra de tamaño: 300 Estimador de la proporcion: 0.893333333333333"
iterMuestras3 = generacionMuestraIterada(Lote3,intoTamaño3,"enfermos",iteracion)
hist(iterMuestras3, prob = TRUE, main = "Histograma - Punto E")
line = mean(iterMuestras3)
abline(v=line, col="green")
lines(density(iterMuestras3), col = 3, lwd = 3)
summary(iterMuestras3)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.8533 0.8900 0.9000 0.9001 0.9100 0.9367
print(paste("varianza: ", var(iterMuestras3)))
## [1] "varianza: 0.000189407214428858"
print(paste("Asimetria: ", skewness(iterMuestras3)))
## [1] "Asimetria: -0.153989093933648"
d_muestras3 = c(5,10,15,20,30,50,60,100,200,500)
for(i in 1: length(d_muestras3)){
d4_muestras = generacionMuestraIterada(Lote,d_muestras3[i],"enfermos",iteracion)
hist(d4_muestras, las=1, ylab = "Frecuencia", main = paste("Muestra de tamaño:", d_muestras3[i]), col = "blue",prob = TRUE)
abline(v=mean(d4_muestras), col="black")
lines(density(d4_muestras), col = "black")
qqnorm(d4_muestras, xlab="Cuantiles", ylab="Cuantiles muestrales",main="qq-normalidad")
qqline(d4_muestras,col = "yellow", lwd = 2, lty = 2)
print(paste('muestra: ', d_muestras3[i]))
print(shapiro.test(d_muestras3))
}
## [1] "muestra: 5"
##
## Shapiro-Wilk normality test
##
## data: d_muestras3
## W = 0.65422, p-value = 0.0002467
## [1] "muestra: 10"
##
## Shapiro-Wilk normality test
##
## data: d_muestras3
## W = 0.65422, p-value = 0.0002467
## [1] "muestra: 15"
##
## Shapiro-Wilk normality test
##
## data: d_muestras3
## W = 0.65422, p-value = 0.0002467
## [1] "muestra: 20"
##
## Shapiro-Wilk normality test
##
## data: d_muestras3
## W = 0.65422, p-value = 0.0002467
## [1] "muestra: 30"
##
## Shapiro-Wilk normality test
##
## data: d_muestras3
## W = 0.65422, p-value = 0.0002467
## [1] "muestra: 50"
##
## Shapiro-Wilk normality test
##
## data: d_muestras3
## W = 0.65422, p-value = 0.0002467
## [1] "muestra: 60"
##
## Shapiro-Wilk normality test
##
## data: d_muestras3
## W = 0.65422, p-value = 0.0002467
## [1] "muestra: 100"
##
## Shapiro-Wilk normality test
##
## data: d_muestras3
## W = 0.65422, p-value = 0.0002467
## [1] "muestra: 200"
##
## Shapiro-Wilk normality test
##
## data: d_muestras3
## W = 0.65422, p-value = 0.0002467
## [1] "muestra: 500"
##
## Shapiro-Wilk normality test
##
## data: d_muestras3
## W = 0.65422, p-value = 0.0002467
Se evidencia al igual que en el punto anterior que utilizando el 10% y el 90% se logra acercar a la normalidad del parametro. en ambos casos a medida que se va incrementando la muestra este se va acercando a al parametro