#UNIVERSIDAD CENTRAL DEL ECUADOR
#FACULTAD: FIGEMPA
#CARRERA: INGENIERIA AMBIENTAL
#AUTOR: KEVIN CHICAIZA
#TEMA DISCRETA
#VARIABLE: POBLACION POR REGIONES DE CHILE
#CARGAR DATOS#
library(readxl)
datos <- read_excel("C:/Estadistica/DatosTerritorialesPoblacion.xls")
#EXTRACCION DE DATOS#
poblaciones<-datos$Poblacion
length(poblaciones)
## [1] 16
##AGRUPACIONES POR INTERVALOS##
breaks <- seq(100000, 8600000, by = 500000)
labels <- paste(head(breaks, -1), tail(breaks, -1) - 1, sep = "-")
intervalospobl <- cut(poblaciones,
breaks = breaks,
labels = labels,
include.lowest = TRUE,
right = FALSE)
tablaintervalos <- data.frame(table(intervalospobl))
print(tablaintervalos)
## intervalospobl Freq
## 1 1e+05-599999 7
## 2 6e+05-1099999 5
## 3 1100000-1599999 1
## 4 1600000-2099999 2
## 5 2100000-2599999 0
## 6 2600000-3099999 0
## 7 3100000-3599999 0
## 8 3600000-4099999 0
## 9 4100000-4599999 0
## 10 4600000-5099999 0
## 11 5100000-5599999 0
## 12 5600000-6099999 0
## 13 6100000-6599999 0
## 14 6600000-7099999 0
## 15 7100000-7599999 0
## 16 7600000-8099999 0
## 17 8100000-8599999 1
TDF_cantpo <- data.frame(table(intervalospobl))
min <- min(poblaciones)
max <- max(poblaciones)
##TABLA DE DISTRIBUCION DE FRECUENCIAS##
ni <- TDF_cantpo$Freq
hi <- (ni/sum(ni))
Ni_asc <- cumsum(ni)
Hi_asc <- cumsum(hi)
Ni_desc <- rev(cumsum(rev(ni)))
Hi_desc <- rev(cumsum(rev(hi)))
TDF_cantpo <- data.frame(TDF_cantpo$intervalospobl,
ni,
round(hi * 100, 2),
Ni_asc,
Ni_desc,
round(Hi_asc * 100, 2),
round(Hi_desc * 100, 2))
colnames(TDF_cantpo) <- c("Intervalos de poblacion","ni","hi(%)",
"Ni asc","Ni desc","Hi asc(%)","Hi desc(%)")
#============================ INFERENCIAL ================================
plot(1, type = "n", axes = FALSE, xlab = "", ylab = "")
text(x = 1, y = 1,
labels = "INFERENCIAL",
cex = 2,
col = "blue",
font =6)

##AGRUPACION POR NUMEROS##
TDF_cantpo$`Intervalos de poblacion` <- 1:nrow(TDF_cantpo)
##REALIZACION DEL BARPLOT##
barplot(TDF_cantpo$ni,
main="Grafico n°2: Diagrama de barras de la frecuencia
poblacional de las regiones de Chile",
xlab="Agrupaciones", ylab="ni",
names.arg = TDF_cantpo$`Intervalos de poblacion`,
las=2,
col = "blue")

intervalos_num <- as.numeric(as.character(TDF_cantpo$`Intervalos de poblacion`))
##CREACION DE MODELO GEOMETRICO##
media_obs <- mean(intervalos_num)
P <- 1 / (media_obs+1)
P_geom <- dgeom(intervalos_num - 1, prob = P)
P_geom
## [1] 0.10000000 0.09000000 0.08100000 0.07290000 0.06561000 0.05904900
## [7] 0.05314410 0.04782969 0.04304672 0.03874205 0.03486784 0.03138106
## [13] 0.02824295 0.02541866 0.02287679 0.02058911 0.01853020
##CREACION DE BARPLOT COMPARATIVO##
barplot(rbind((ni / sum(ni)) * 100, P_geom * 100),
main = "Grafico n°2.1: Diagrama de barras del modelo vs la realidad de
la cantidad poblacional de las regiones de Chile",
cex.main = 0.9,
xlab = "Agrupacion de poblaciones",
ylab = "Probabilidad (%)",
names.arg = intervalos_num,
beside = TRUE,
col = c("skyblue", "darkgreen"))
legend("topright", legend = c("Real", "Modelo Geometrico"),
fill = c("skyblue", "darkgreen"))

Fo <- hi
Fe <- P_geom
#TEST DE BONDAD#
#TEST DE PEARSON#
Correlacion <- cor(Fo, Fe) * 100
Correlacion
## [1] 74.6186
plot(Fo, Fe, main="Grafico n°2.2: Correlacion de frecuencias entre modelo
geometrico y la realidad",
xlab="Observado (hi)", ylab="Esperado (P)",
cex.main = 0.9)
abline(lm(Fe ~ Fo), col="red", lwd=2)

#CHI CUADRADO#
ni_obs <- ni
ni_exp <- P_geom * sum(ni)
x2 <- sum((ni_obs - ni_exp)^2 / ni_exp)
vc <- qchisq(0.999, length(Fo) - 1)
x2 > vc
## [1] FALSE
##EJEMPLO##
probabilidad_2 <- dgeom(2, P) * 100
probabilidad_2
## [1] 8.1
# Calculo de probabilidad
plot(1, type = "n", axes = FALSE, xlab = "", ylab = "") # Crear un grafico vacio
text(x = 1, y = 1,
labels = "Calculos de probabilidad\n(Estimacion general)\n
¿Cual es la probabilidad de que\nla cantidad poblacional\n sea el valor 2?\n\n
R: 8.30(%)",
cex = 1.5,
col = "blue",
font =6)

cat("La probabilidad de que la cantidad de poblacion este entre 600000 y 1099999 personas es aproximadamente:",
round(probabilidad_2, 2), "%\n")
## La probabilidad de que la cantidad de poblacion este entre 600000 y 1099999 personas es aproximadamente: 8.1 %
##TABLA DE CONCLUSIONES##
tabla_modelos_1 <- data.frame("Cantidad Poblacional" = c("[108306;8367790]", ""),
"Modelo" = c("Geometrico", ""),
"Parametros" = c("P = 0.1", ""),
"Test_de_Pearson" = c("0.74", ""),
"Test_de_Chi_cuadrado" = c("Aprobado", ""))
colnames(tabla_modelos_1) <- c("Cantidad Poblacional", "Modelo",
"Parametros","Test Pearson",
"Test Chi-cuadrado")
plot(1, type = "n", axes = FALSE, xlab = "", ylab = "") # Crear un grafico vacio
text(x = 1, y = 1,
labels = "CONCLUSIONES",
cex = 2, # Tamaño del texto (ajustable)
col = "blue", # Color del texto
font = 6) #tipo

library(knitr)
kable(tabla_modelos_1, align = 'c',
caption = "Conclusiones del Modelo Exponencial para Desechos (ha)")
Conclusiones del Modelo Exponencial para Desechos
(ha)
[108306;8367790] |
Geometrico |
P = 0.1 |
0.74 |
Aprobado |
|
|
|
|
|