#UNIVERSIDAD CENTRAL DEL ECUADOR
#FACULTAD: FIGEMPA
#CARRERA: INGENIERIA AMBIENTAL
#AUTOR: KEVIN CHICAIZA
#TEMA DISCRETA
#VARIABLE: POBLACION POR REGIONES DE CHILE
##IMPORTAR DATOS##
library(readxl)
cantpo <- read_excel("C:/Estadistica/DatosTerritorialesPoblacion.xls")
View(cantpo)
##EXTRAER DATOS##
poblaciones<-cantpo$Poblacion
#CREAR TABLA DE DISTRIBUCION DE FRECUENCIAS (MANUAL)#
min <- min(poblaciones)
max <- max(poblaciones)
R <- max-min
k <- floor(1+3.33*log10(length(poblaciones)))
k
## [1] 5
A <- R/k
lim_inf <- seq(from=min,to=max-A,by=A)
lim_sup <- seq(from=min+A,to=max,by=A)
MC <- (lim_inf+lim_sup)/2
ni <- c()
for (i in 1:k) {
if(i<=5)
ni[i] <- length(subset(poblaciones,poblaciones>=lim_inf[i] & poblaciones<=lim_sup[i]))
else
ni[i] <- length(subset(poblaciones,poblaciones>=lim_inf[i] & poblaciones<lim_sup[i]))
}
sum(ni)
## [1] 16
hi <- ni/sum(ni)*100
sum(hi)
## [1] 100
Ni_asc <- cumsum(ni)
Hi_asc <- cumsum(hi)
Ni_desc <- rev(cumsum(rev(ni)))
Hi_desc <- rev(cumsum(rev(hi)))
TDFpoblacion <- data.frame(round(lim_inf,2),
round(lim_sup,2),
MC,ni,
round(hi,2),
Ni_asc,
Ni_desc,
round(Hi_asc,2),
round(Hi_desc,2))
colnames(TDFpoblacion) <- c("Lim inf","Lim sup","MC","ni","hi(%)",
"Ni asc","Ni desc","Hi asc(%)","Hi desc(%)")
TDFpoblacion
## Lim inf Lim sup MC ni hi(%) Ni asc Ni desc Hi asc(%) Hi desc(%)
## 1 108306 1760203 934254.4 14 87.50 14 16 87.50 100.00
## 2 1760203 3412100 2586151.2 1 6.25 15 2 93.75 12.50
## 3 3412100 5063996 4238048.0 0 0.00 15 1 93.75 6.25
## 4 5063996 6715893 5889944.8 0 0.00 15 1 93.75 6.25
## 5 6715893 8367790 7541841.6 1 6.25 16 1 100.00 6.25
#CREAR FILA DE TOTALES#
totales <- c( lim_inf= "TOTAL",
lim_sup= "-",
MC= "-",
ni= sum(ni),
hi= sum(hi),
Ni_asc= "-",
Ni_des= "-",
Hi_asc= "-",
Hi_des= "-")
TDFpoblacion <- rbind(TDFpoblacion,totales)
TDFpoblacion
## Lim inf Lim sup MC ni hi(%) Ni asc Ni desc Hi asc(%) Hi desc(%)
## 1 108306 1760202.8 934254.4 14 87.5 14 16 87.5 100
## 2 1760202.8 3412099.6 2586151.2 1 6.25 15 2 93.75 12.5
## 3 3412099.6 5063996.4 4238048 0 0 15 1 93.75 6.25
## 4 5063996.4 6715893.2 5889944.8 0 0 15 1 93.75 6.25
## 5 6715893.2 8367790 7541841.6 1 6.25 16 1 100 6.25
## 6 TOTAL - - 16 100 - - - -
#SIMPLIFICACION CON HISTOGRAMA#
Hist_poblaciones <- hist(poblaciones,breaks = 5,plot = F)
k <- length(Hist_poblaciones$breaks)
Li <- Hist_poblaciones$breaks[1:(length(Hist_poblaciones$breaks) - 1)]
Ls <- Hist_poblaciones$breaks[2:length(Hist_poblaciones$breaks)]
ni <- Hist_poblaciones$counts
sum(ni)
## [1] 16
MC <- Hist_poblaciones$mids
hi <- (ni/sum(ni))
sum(hi)
## [1] 1
Ni_asc <- cumsum(ni)
Hi_asc <- cumsum(hi)
Ni_desc <- rev(cumsum(rev(ni)))
Hi_desc <- rev(cumsum(rev(hi)))
TDFpoblacion <- data.frame(Li = round(Li, 2),
Ls = round(Ls, 2),
MC = round(MC, 2),
ni = ni,
hi = round(hi * 100, 2),
Ni_asc = Ni_asc,
Ni_desc = Ni_desc,
Hi_asc = round(Hi_asc * 100, 2),
Hi_desc = round(Hi_desc * 100, 2))
colnames(TDFpoblacion) <- c("Lim inf","Lim sup","MC","ni","hi(%)",
"Ni asc","Ni desc","Hi asc(%)","Hi desc(%)")
#CREAR FILA DE TOTALES#
totales <- c( lim_inf= "TOTAL",
lim_sup= "-",
MC= "-",
ni= sum(ni),
hi= sum(hi*100),
Ni_asc= "-",
Ni_des= "-",
Hi_asc= "-",
Hi_des= "-")
TDFpoblaciontotal <- rbind(TDFpoblacion,totales)
TDFpoblaciontotal
## Lim inf Lim sup MC ni hi(%) Ni asc Ni desc Hi asc(%) Hi desc(%)
## 1 0 2e+06 1e+06 14 87.5 14 16 87.5 100
## 2 2e+06 4e+06 3e+06 1 6.25 15 2 93.75 12.5
## 3 4e+06 6e+06 5e+06 0 0 15 1 93.75 6.25
## 4 6e+06 8e+06 7e+06 0 0 15 1 93.75 6.25
## 5 8e+06 1e+07 9e+06 1 6.25 16 1 100 6.25
## 6 TOTAL - - 16 100 - - - -
#HISTOGRAMA POR REGLA DE STURGES#
hist(poblaciones, breaks = 5,
main = "Gráfica N°16: Distribución de personas en Chile",
xlab = "Cantidad de personas",
ylab = "Frecuencia",
ylim = c(0, max(ni)),
col = "violet",
cex.main = 0.9,
cex.lab = 1,
cex.axis = 0.9,
xaxt = "n")
axis(1, at = Hist_poblaciones$breaks,
labels = Hist_poblaciones$breaks, las = 1,
cex.axis = 0.9)

#HISTOGRAMA GLOBAL#
hist(poblaciones,
main = "Gráfica N°17: Distribución de personas en Chile (Global)",
xlab = "Cantidad de personas",
ylab = "Frecuencia",
ylim = c(0, length(poblaciones)),
col = "gray",
cex.main = 0.9,
cex.lab = 1,
cex.axis = 0.9,
xaxt = "n")
axis(1, at = Hist_poblaciones$breaks,
labels = Hist_poblaciones$breaks, las = 1,
cex.axis = 0.9)

barplot(TDFpoblacion$hi,
space=0,
col = "green",
main = "Gráfica N°18: Distribución porcentual de personas en Chile",
cex.main = 0.9,
xlab = "Cantidad de personas",
ylab = "Porcentaje (%)",
ylim = c(0,100),
names.arg= TDFpoblacion$MC)

#HISTOGRAMA LOCAL#
hist(poblaciones,
main = "Gráfica N°19: Distribución de personas en chile (Local)",
xlab = "Cantidad de personas",
ylab = "Frecuencia",
ylim = c(0,max(ni)),
col = "red",
cex.main = 0.9,
cex.lab = 1,
cex.axis = 0.9,
xaxt = "n")
axis(1, at = Hist_poblaciones$breaks,
labels = Hist_poblaciones$breaks, las = 1,
cex.axis = 0.9)

barplot(TDFpoblacion$hi,space=0,
col = "blue",
main ="Gráfica N°20: Distribución porcentual de personas en Chile ",
xlab="Cantidad de personas",
ylab="Porcentaje (%)",
cex.main = 0.9,
names.arg = TDFpoblacion$MC)

#OJIVAS ASC Y DESC (ABSOLUTAS)#
plot(Li, Ni_desc,
main = "Gráfica N°21: Ojivas de Frecuencia Absoluta",
xlab = "Poblacion",
ylab = "Frecuencia acumulada",
xlim = range(Li),
ylim = c(0, max(Ni_asc)),
col = "red",
type = "p",
lwd = 2,
xaxt = "n")
lines(c(min(Li), Ls), c(0, Ni_asc),
col = "blue",
type = "p",
lwd = 2)
axis(1, at = round(seq(min(Li), max(Ls), length.out = 6), 2))
legend("topright", legend = c("Descendente", "Ascendente"),
col = c("red", "blue"), pch = 1)

#OJIVAS ASC Y DESC (RELATIVAS)#
plot(Li, Hi_desc * 100,
main = "Gráfica N°22: Ojivas de Frecuencia Relativa",
xlab = "Poblacion",
ylab = "Porcentaje acumulado",
xlim = range(Li),
ylim = c(0, 100),
col = "red",
type = "p",
xaxt = "n")
lines(c(min(Li), Ls), c(0, Hi_asc * 100),
col = "blue",
type = "p")
axis(1, at = round(seq(min(Li), max(Ls), length.out = 6), 2))
legend("bottomright", legend = c("Descendente", "Ascendente"),
col = c("red", "blue"), pch = 1)

#DIAGRAMA DE CAJA#
boxplot(poblaciones,
horizontal = TRUE,
main = "Gráfica N°23: Diagrama de caja de personas en Chile",
xlab = " Cantidad de personas",
cex.main = 0.9,
col = "skyblue",
outline = TRUE,
pch = 1)

#INDICADORES ESTADISTICOS#
###################DE TENDENCIA CENTRAL################
#MEDIA ARITMETICA#
media <- round(mean(poblaciones), 2)
media
## [1] 1247556
#MEDIANA#
mediana <- median(poblaciones)
mediana
## [1] 791622.5
#################INDICADORES DE DISPERSIÓN###############
#VARIANZA#
varianza <- var(poblaciones)
varianza
## [1] 3.889075e+12
#DESVIACION ESTANDAR#
sd <- sd(poblaciones)
sd
## [1] 1972074
#COEFICIENTE DE VARIACION#
cv <- round((sd / media) * 100, 2)
cv
## [1] 158.08
###################INDICADORES DE FORMA##################
#ASIMETRIA#
library(e1071)
asimetria <- skewness(poblaciones)
asimetria
## [1] 2.894641
#CURTOSIS#
curtosis <- kurtosis(poblaciones)
curtosis
## [1] 7.647613
#CREACION DE TABLA DE INDICADORES (CONCLUSIONES)#
tabla_indicadores <- data.frame("Variable" =c("Poblacion de chile"),
"Rango" = c("[108306 ;2010849]"),
"X" = c(media),
"Me" = c(round(mediana,2)),
"Mo" = "[0,2000000]",
"V" = c(round(varianza,2)),
"Sd" = c(round(sd,2)),
"Cv" = c(cv),
"As" = c(round(asimetria,4)),
"K" = c(round(curtosis,2)),
"Valores Atipicos" = "[8000000;10000000]")
library(knitr)
kable(tabla_indicadores, align = 'c', caption = "Tabla indicadores de cantidad de personas en cada region de chile")
Tabla indicadores de cantidad de personas en cada region de
chile
Poblacion de chile |
[108306 ;2010849] |
1247556 |
791622.5 |
[0,2000000] |
3.889075e+12 |
1972074 |
158.08 |
2.8946 |
7.65 |
[8000000;10000000] |