UNIVERSIDAD CENTRAL DEL ECUADOR

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

Ingeniería Ambiental

Autor:

fecha:

#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
Precipitacion <- datos$Rainfall..mm.per.year.

# Tabla de distribución de frecuencia

# Manualmente
min <- min(Precipitacion)
max <- max(Precipitacion)
R <- max-min
k <- floor(1+3.33*log10(length(Precipitacion)))
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 < k) {
    ni[i] <- length(subset(Precipitacion, Precipitacion >= lim_inf[i] & Precipitacion < lim_sup[i]))
  } else {
    ni[i] <- length(subset(Precipitacion, Precipitacion >= lim_inf[i] & Precipitacion <= 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_Precipitacion <- 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_Precipitacion) <- 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_Precipitacion_total <- rbind(TDF_Precipitacion,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_Precipitacion_total, align = 'c',
      caption = "Tabla de Distribucion de Frecuencias de la Precipitación (mm/año)
      de los países del estudiode la contaminación") %>%
  kable_styling(full_width = FALSE, position = "center",
                bootstrap_options = c("striped", "hover", "condensed"))
Tabla de Distribucion de Frecuencias de la Precipitación (mm/año) de los países del estudiode la contaminación
Lim inf Lim sup MC ni hi(%) Ni asc Ni desc Hi asc(%) Hi desc(%)
200 433.25 316.625 274 9.13 274 3000 9.13 100
433.25 666.5 549.875 237 7.9 511 2726 17.03 90.87
666.5 899.75 783.125 272 9.07 783 2489 26.1 82.97
899.75 1133 1016.375 236 7.87 1019 2217 33.97 73.9
1133 1366.25 1249.625 270 9 1289 1981 42.97 66.03
1366.25 1599.5 1482.875 238 7.93 1527 1711 50.9 57.03
1599.5 1832.75 1716.125 216 7.2 1743 1473 58.1 49.1
1832.75 2066 1949.375 236 7.87 1979 1257 65.97 41.9
2066 2299.25 2182.625 267 8.9 2246 1021 74.87 34.03
2299.25 2532.5 2415.875 257 8.57 2503 754 83.43 25.13
2532.5 2765.75 2649.125 253 8.43 2756 497 91.87 16.57
2765.75 2999 2882.375 244 8.13 3000 244 100 8.13
TOTAL
3000 100
# Simplificación con el histograma
Hist_Precipitacion <- hist(Precipitacion,breaks = 8,plot = F)
k <- length(Hist_Precipitacion$breaks)
Li <- Hist_Precipitacion$breaks[1:(length(Hist_Precipitacion$breaks) - 1)]
Ls <- Hist_Precipitacion$breaks[2:length(Hist_Precipitacion$breaks)]
ni <- Hist_Precipitacion$counts
sum(ni)
## [1] 3000
MC <- Hist_Precipitacion$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_Precipitacion <- 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_Precipitacion) <- 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_Precipitacion_total <- rbind(TDF_Precipitacion,totales)

kable(TDF_Precipitacion_total, align = 'c',
      caption = "Tabla de Distribucion de Frecuencias de la Precipitación (mm/año)
      de los países del estudio de la contaminación") %>%
  kable_styling(full_width = FALSE, position = "center",
                bootstrap_options = c("striped", "hover", "condensed"))
Tabla de Distribucion de Frecuencias de la Precipitación (mm/año) de los países del estudio de la contaminación
Lim inf Lim sup MC ni hi(%) Ni asc Ni desc Hi asc(%) Hi desc(%)
0 500 250 344 11.47 344 3000 11.47 100
500 1000 750 552 18.4 896 2656 29.87 88.53
1000 1500 1250 524 17.47 1420 2104 47.33 70.13
1500 2000 1750 478 15.93 1898 1580 63.27 52.67
2000 2500 2250 561 18.7 2459 1102 81.97 36.73
2500 3000 2750 541 18.03 3000 541 100 18.03
TOTAL
3000 100
# GRAFICAS

# Histograma

hist(Precipitacion, breaks = 9,
     main = "Gráfica N°1: Distribución de Precipitación (mm/año) de los países
     del estudio de la contaminación",
     xlab = "Precipitación (mm/año)",
     ylab = "Cantidad",
     ylim = c(0, max(ni)),
     col = "purple",
     cex.main = 0.9,
     cex.lab = 1,
     cex.axis = 0.9,
     xaxt = "n")
axis(1, at = Hist_Precipitacion$breaks,
     labels = Hist_Precipitacion$breaks, las = 1,
     cex.axis = 0.9)

# Global

hist(Precipitacion, breaks = 9,
     main = "Gráfica N°2: Distribución de Precipitación (mm/año) de los países
     del estudio de la contaminación",
     xlab = "Precipitación (mm/año)",
     ylab = "Cantidad",
     ylim = c(0, length(Precipitacion)),
     col = "purple",
     cex.main = 0.9,
     cex.lab = 1,
     cex.axis = 0.9,
     xaxt = "n")
axis(1, at = Hist_Precipitacion$breaks,
     labels = Hist_Precipitacion$breaks, las = 1,
     cex.axis = 0.9)

barplot(TDF_Precipitacion$`hi(%)`,
        space=0,
        col = "skyblue",
        main ="Gráfica N°3: Distribución porcentual de la Precipitación (mm/año)
        de los países del estudio de la contaminación",
        xlab="Precipitación (mm/año)",
        ylab="Porcentaje (%)",
        names.arg= TDF_Precipitacion$MC,
        ylim = c(0,100))

# Local
hist(Precipitacion, breaks = 9,
     main = "Gráfica N°4: Distribución de la Precipitación (mm/año) de los países
     del estudio de la contaminación",
     xlab = "Precipitación (mm/año)",
     ylab = "Cantidad",
     ylim = c(0,600),
     col = "purple",
     cex.main = 0.9,
     cex.lab = 1,
     cex.axis = 0.9,
     xaxt = "n")
axis(1, at = Hist_Precipitacion$breaks,
     labels = Hist_Precipitacion$breaks, las = 1,
     cex.axis = 0.9)

barplot(TDF_Precipitacion$`hi(%)`,space=0,
        col = "lightblue",
        main ="Gráfica N°5: Distribución porcentual de la Precipitación (mm/año)
        de los países del estudio de la contaminación",
        xlab="Precipitación (mm/año)",
        ylab="Porcentaje (%)",
        ylim = c(0,20),
        names.arg = TDF_Precipitacion$MC)

# Diagrama de Ojiva Ascendente y Descendente

plot(Ls,Ni_asc,
     main = "Gráfica N°6: ",
     xlab = " Precipitación (mm/año)",
     ylab = "Cantidad",
     xlim = c(100,3000),
     col = "orange",
     cex.axis=0.8,
     type = "o",
     lwd = 3,
     las=1,
     xaxt="n")
lines(Li ,Ni_desc,
      col = "green",
      type = "o",
      lwd = 3)
axis(1, at = seq(0, 3000, by = 500))

# Diagrama de Ojiva Ascendente y Descendente Porcentual

plot(Ls, Hi_asc * 100,
     main = "Gráfica N°7:  ",
     xlab = " Precipitación (mm/año)",
     ylab = "Porcentaje (%)",
     xlim = c(100,3000),
     col = "red",
     type = "o",
     lwd = 2,
     xaxt="n")
lines(Li, Hi_desc * 100,
      col = "blue",
      type = "o",
      lwd = 3)
axis(1, at = seq(0,3000,by=500))

# Diagrama de Caja

boxplot(Precipitacion,
        horizontal = TRUE,
        main = "Gráfica N°4:distribucion de la Precipitación (mm/año)
        de los países del estudio de la contaminación",
        xlab = " Precipitación (mm/año)",
        col = "purple",
        outline = TRUE,
        pch = 1)

# INDICADORES ESTADISTICOS

# Indicadores de Tendencia Central

# Media aritmética
media <- round(mean(Precipitacion), 2)
media
## [1] 1591.85
# Moda
max_frecuencia <- max(TDF_Precipitacion$ni)
moda <- TDF_Precipitacion$MC[TDF_Precipitacion$ni == max_frecuencia]
moda
## [1] 2250
# Mediana
mediana <- median(Precipitacion)
mediana
## [1] 1572
# INDICADORES DE DISPERSIÓN #

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

# Asimetría
library(e1071)
## Warning: package 'e1071' was built under R version 4.4.3
asimetria <- skewness(Precipitacion, type = 2)
asimetria
## [1] 0.00851344
#Curtosis
curtosis <- kurtosis(Precipitacion)
curtosis
## [1] -1.236449
tabla_indicadores <- data.frame("Variable" =c("Precipitación (mm/año)"),
                                "Rango" = c("[200 ;2999]"),
                                "X" = c(media),
                                "Me" = c(round(mediana,2)),
                                "Mo" = c("[2000;2500]"),
                                "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
      Precipitación (mm/año) de los países del estudio de contaminación del agua")
Conclusiones de la variable Precipitación (mm/año) de los países del estudio de contaminación del agua
Variable Rango X Me Mo V Sd Cv As K Valores.Atipicos
Precipitación (mm/año) [200 ;2999] 1591.85 1572 [2000;2500] 668310.2 817.5 51.36 0.0085 -1.24 No hay presencia de valores atípicos