UNIVERSIDAD CENTRAL DEL ECUADOR

Facultad de Ingeniería en Geología, Minas, Petroleos y Ambiental

Ingeniería Ambiental

#Cargar datos
setwd("C:/Users/KEVIN/OneDrive - Universidad Central del Ecuador/Escritorio/kevin/Estadistica/mundial/Rstudio")
datos <- read.csv("water_pollution_disease.csv",header = TRUE,sep = ",",dec = ".")
#Extraccion variable Cuantitativa Continua
acceso_agua <- datos$Access.to.Clean.Water....of.Population.
# Tabla de distribución de frecuencia

# Manualmente
min <- min(acceso_agua)
max <- max(acceso_agua)
R <- max-min
k <- floor(1+3.33*log10(length(acceso_agua)))
A <- R/k
lim_inf <- seq(from=min,to=max-A,by=A)
lim_sup <- seq(from=min+A,to=max,by=A)
MC <- round((lim_inf+lim_sup)/2,2)

ni <- c()
for (i in 1:k) {
  if (i < k) {
    ni[i] <- length(subset(acceso_agua, acceso_agua >= lim_inf[i] & acceso_agua < lim_sup[i]))
  } else {
    ni[i] <- length(subset(acceso_agua, acceso_agua >= lim_inf[i] & acceso_agua <= lim_sup[i]))
  }
}
sum(ni)
## [1] 3000
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)))

TDF_acceso_agua <- 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(TDF_acceso_agua) <- c("Lim inf","Lim sup","MC","ni","hi(%)",
                               "Ni asc","Ni desc","Hi asc(%)","Hi desc(%)")
# crear de 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= "-")

TDF_acceso_agua_total <- rbind(TDF_acceso_agua,totales)

# Tabla mas estetica
library(knitr)
## Warning: package 'knitr' was built under R version 4.4.2
library(kableExtra)
## Warning: package 'kableExtra' was built under R version 4.4.2
kable(TDF_acceso_agua_total, align = 'c',
      caption = "Tabla de Distribución de Frecuencias de la acceso al agua 
      potable (% de la Población) de los países del estudio") %>%
  kable_styling(full_width = FALSE, position = "center",
                bootstrap_options = c("striped", "hover", "condensed"))
Tabla de Distribución de Frecuencias de la acceso al agua potable (% de la Población) de los países del estudio
Lim inf Lim sup MC ni hi(%) Ni asc Ni desc Hi asc(%) Hi desc(%)
30.01 35.84 32.93 260 8.67 260 3000 8.67 100
35.84 41.67 38.76 261 8.7 521 2740 17.37 91.33
41.67 47.51 44.59 245 8.17 766 2479 25.53 82.63
47.5 53.34 50.42 262 8.73 1028 2234 34.27 74.47
53.34 59.17 56.25 266 8.87 1294 1972 43.13 65.73
59.17 65 62.08 212 7.07 1506 1706 50.2 56.87
65 70.83 67.92 259 8.63 1765 1494 58.83 49.8
70.83 76.66 73.75 241 8.03 2006 1235 66.87 41.17
76.66 82.5 79.58 253 8.43 2259 994 75.3 33.13
82.49 88.33 85.41 237 7.9 2496 741 83.2 24.7
88.33 94.16 91.24 272 9.07 2768 504 92.27 16.8
94.16 99.99 97.07 232 7.73 3000 232 100 7.73
TOTAL
3000 100
# Simplificación con el histograma
Hist_acceso_agua <- hist(acceso_agua,breaks = 8,plot = F)
k <- length(Hist_acceso_agua$breaks)
Li <- Hist_acceso_agua$breaks[1:(length(Hist_acceso_agua$breaks) - 1)]
Ls <- Hist_acceso_agua$breaks[2:length(Hist_acceso_agua$breaks)]
ni <- Hist_acceso_agua$counts
sum(ni)
## [1] 3000
MC <- Hist_acceso_agua$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)))
TDF_acceso_agua <- 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(TDF_acceso_agua) <- c("Lim inf","Lim sup","MC","ni","hi(%)",
                               "Ni asc","Ni desc","Hi asc(%)","Hi desc(%)")
# crear de 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= "-")

TDF_acceso_agua_total <- rbind(TDF_acceso_agua,totales)

kable(TDF_acceso_agua_total, align = 'c',
      caption = "Tabla de Distribución de Frecuencias de la acceso al 
      agua potable (% de la Población) de los países del estudio") %>%
  kable_styling(full_width = FALSE, position = "center",
                bootstrap_options = c("striped", "hover", "condensed"))
Tabla de Distribución de Frecuencias de la acceso al agua potable (% de la Población) de los países del estudio
Lim inf Lim sup MC ni hi(%) Ni asc Ni desc Hi asc(%) Hi desc(%)
30 40 35 455 15.17 455 3000 15.17 100
40 50 45 412 13.73 867 2545 28.9 84.83
50 60 55 466 15.53 1333 2133 44.43 71.1
60 70 65 404 13.47 1737 1667 57.9 55.57
70 80 75 418 13.93 2155 1263 71.83 42.1
80 90 85 431 14.37 2586 845 86.2 28.17
90 100 95 414 13.8 3000 414 100 13.8
TOTAL
3000 100
# GRAFICAS

# Histograma

hist(acceso_agua, breaks = 9,
     main = "Gráfica N°1: Distribución del acceso al agua 
     potable(% de la Población) en los países del estudio",
     xlab = "Acceso al agua potable (% de la Población)",
     ylab = "Cantidad",
     ylim = c(0, 500),
     col = "purple",
     cex.main = 0.9,
     cex.lab = 1,
     cex.axis = 0.9,
     xaxt = "n")
axis(1, at = Hist_acceso_agua$breaks,
     labels = Hist_acceso_agua$breaks, las = 1,
     cex.axis = 0.9)

# Global

hist(acceso_agua, breaks = 9,
     main = "Gráfica N°2: Distribución del acceso al agua potable 
     (% de la Población) en los países del estudio de contaminación ",
     xlab = "Acceso al agua potable (% de la Población)",
     ylab = "Cantidad",
     ylim = c(0, length(acceso_agua)),
     col = "purple",
     cex.main = 0.9,
     cex.lab = 1,
     cex.axis = 0.9,
     xaxt = "n")
axis(1, at = Hist_acceso_agua$breaks,
     labels = Hist_acceso_agua$breaks, las = 1,
     cex.axis = 0.9)

barplot(TDF_acceso_agua$`hi(%)`,
        space=0,
        col = "skyblue",
        main ="Gráfica N°3: Distribución porcentual del acceso al agua potable 
        (% de la Población)en los países del estudio de contaminación del agua ",
        xlab="Acceso al agua potable (% de la Población)",
        ylab="Porcentaje (%)",
        names.arg= TDF_acceso_agua$MC,
        ylim = c(0,100),
        cex.axis = 0.9,
        cex.main = 0.9)

# Local
hist(acceso_agua, breaks = 9,
     main = "Gráfica N°4: Distribución del acceso al agua potable 
     (% de la Población) en los países del estudio de contaminación del agua",
     xlab = "Acceso al agua potable (% de la Población)",
     ylab = "Cantidad",
     ylim = c(0,400),
     col = "purple",
     cex.main = 0.9,
     cex.lab = 1,
     cex.axis = 0.9,
     xaxt = "n")
axis(1, at = Hist_acceso_agua$breaks,
     labels = Hist_acceso_agua$breaks, las = 1,
     cex.axis = 0.9)

barplot(TDF_acceso_agua$`hi(%)`,space=0,
        col = "lightblue",
        main ="Gráfica N°5: Distribución porcentual del acceso al agua potable
        (% de la Población) en los países del estudio de contaminación del agua ",
        xlab="Acceso al agua potable (% de la Población)",
        ylab="Porcentaje (%)",
        ylim = c(0,15),
        names.arg = TDF_acceso_agua$MC,
        cex.axis = 0.9,
        cex.main = 0.9)

# Diagrama de Ojiva Ascendente y Descendente

plot(Ls,Ni_asc,
     main = "Gráfica N°6: Ojivas ascendente y descendente de acceso al agua 
     potable (% de la Población) en los países del estudio",
     xlab = "Acceso al agua potable (% de la Población)",
     ylab = "Cantidad",
     xlim = c(0,100),
     col = "orange",
     cex.axis=0.9,
     cex.main = 0.9,
     type = "o",
     lwd = 3,
     las=1,
     xaxt="n")
lines(Li ,Ni_desc,
      col = "green",
      type = "o",
      lwd = 3)
axis(1, at = seq(0, 100, by = 10))

# Diagrama de Ojiva Ascendente y Descendente Porcentual

plot(Ls, Hi_asc * 100,
     main = "Gráfica N°7: Ojivas ascendente y descendente porcentual del acceso 
     al agua potable (% de la Población) en los países del estudio ",
     xlab = "Acceso al agua potable (% de la Población)",
     ylab = "Porcentaje (%)",
     xlim = c(0,100),
     col = "red",
     type = "o",
     lwd = 2,
     cex.axis = 0.9,
     cex.main = 0.9,
     xaxt="n")
lines(Li, Hi_desc * 100,
      col = "blue",
      type = "o",
      lwd = 3)
axis(1, at = seq(0,100,by=10))

# Diagrama de Caja

boxplot(acceso_agua,
        horizontal = TRUE,
        main = "Gráfica N°4: Distribución del Acceso al Agua 
        Potable (% de la Población) en los países del estudio",
        xlab = "Acceso al agua potable (% de la Población)",
        col = "purple",
        outline = TRUE,
        pch = 1,
        cex.axis = 0.9,
        cex.main = 0.9)

# INDICADORES ESTADISTICOS

# Indicadores de Tendencia Central

# Media aritmética
media <- round(mean(acceso_agua), 2)
media
## [1] 64.61
# Moda
max_frecuencia <- max(TDF_acceso_agua$ni)
moda <- TDF_acceso_agua$MC[TDF_acceso_agua$ni == max_frecuencia]
moda
## [1] 55
# Mediana
mediana <- median(acceso_agua)
mediana
## [1] 64.78
# INDICADORES DE DISPERSIÓN #

# Varianza
varianza <- var(acceso_agua)
varianza
## [1] 412.4336
# Desviación Estándar
sd <- sd(acceso_agua)
sd
## [1] 20.30846
# Coeficiente de Variación
cv <- round((sd / media) * 100, 2)
cv
## [1] 31.43
# INDICADORES DE FORMA #

# Asimetría
library(e1071)
## Warning: package 'e1071' was built under R version 4.4.3
asimetria <- skewness(acceso_agua, type = 2)
asimetria
## [1] 0.01772978
#Curtosis
curtosis <- kurtosis(acceso_agua)
curtosis
## [1] -1.217223
tabla_indicadores <- data.frame("Variable" =c("Acceso al agua potable(% de la Población)"),
                                "Rango" = c("[30.01 ;99.99]"),
                                "X" = c(media),
                                "Me" = c(round(mediana,2)),
                                "Mo" = c("No tiene"),
                                "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" = "No hay presencia de valores atípicos")
library(knitr)
kable(tabla_indicadores, align = 'c', caption = "Conclusiones de la variable
      acceso al agua potable (% de la Población) de los países del estudio de contaminación del agua")
Conclusiones de la variable acceso al agua potable (% de la Población) de los países del estudio de contaminación del agua
Variable Rango X Me Mo V Sd Cv As K Valores.Atipicos
Acceso al agua potable(% de la Población) [30.01 ;99.99] 64.61 64.78 No tiene 412.43 20.31 31.43 0.0177 -1.22 No hay presencia de valores atípicos