UNIVERSIDAD CENTRAL DEL ECUADOR

Facultad en Ingeniería en Geología, Minas, Petróleos y Ambiental
Ingeniería Ambiental
Fecha: 15-05-2025


Carga de datos y tabla de frecuencias

# Cargar librerías
library(knitr)
library(kableExtra)
#Cuantitativa Discreta
#Cargar Datos
getwd()
## [1] "/cloud/project"
setwd("/cloud/project")
datos <- read.csv("water_pollution_disease.csv",header = TRUE,sep = ",",dec = ".")

#Extraccion variable Cuantitativa Discreta
Año <- na.omit (datos$Year)

# Agrupar por intervalos
breaks <- seq(2000, 2025, by = 5) 
labels <- paste(head(breaks, -1), tail(breaks, -1) - 1, sep = "-") 
intervalos <- cut(Año, breaks = breaks, include.lowest = TRUE, right = FALSE, labels = labels)
TDF_Año <- data.frame(table(intervalos))
min <- min(Año)
max <- max(Año)

# Tabla de distribución de frecuencia
ni <- TDF_Año$Freq
sum(ni)
## [1] 3000
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_Año <- data.frame(TDF_Año$intervalos,
                      ni,
                      round(hi * 100, 2),
                      Ni_asc,
                      Ni_desc,
                      round(Hi_asc * 100, 2),
                      round(Hi_desc * 100, 2))

colnames(TDF_Año) <- c("Intervalos de año","ni","hi(%)",
                       "Ni asc","Ni desc","Hi asc(%)","Hi desc(%)")
# crear de fila de totales
totales <- data.frame( intervalos=" TOTAL ",
                       ni= sum(ni),
                       hi= sum(hi*100),
                       Ni_asc= "-",
                       Ni_des= "-",
                       Hi_asc= "-",
                       Hi_des= "-")
colnames(totales) <- c("Intervalos de año","ni","hi(%)",
                       "Ni asc","Hi asc(%)","Ni desc","Hi desc(%)")

TDF_Año_total <- rbind(TDF_Año,totales)
library(dplyr)  
library(knitr)
library(kableExtra)

kable(TDF_Año_total, align = 'c',
      caption = "Tabla de Distribución de Frecuencias de los años realizados el estudio de contaminantes del agua") %>%
  kable_styling(full_width = FALSE, position = "center",
                bootstrap_options = c("striped", "hover", "condensed"))
Tabla de Distribución de Frecuencias de los años realizados el estudio de contaminantes del agua
Intervalos de año ni hi(%) Ni asc Ni desc Hi asc(%) Hi desc(%)
2000-2004 596 19.87 596 3000 19.87 100
2005-2009 605 20.17 1201 2404 40.03 80.13
2010-2014 584 19.47 1785 1799 59.5 59.97
2015-2019 607 20.23 2392 1215 79.73 40.5
2020-2024 608 20.27 3000 608 100 20.27
TOTAL 3000 100.00
# GRAFICAS
# Diagrama de barrras local
barplot(ni,
        main="Gráfica N°1: Distribución de los años que se llevo a cabo el
        estudio de contaminación del agua",
        xlab = "Años",
        ylab = "Cantidad",
        col = "skyblue",
        ylim = c(0,max(ni)),
        names.arg=TDF_Año$`Intervalos de año`,
        las=2,
        cex.names=0.6)

barplot(TDF_Año$hi,
        main="Gráfica N°2: Distribución porcentual de los años que
        se llevo a cabo el estudio de contaminación del agua",
        xlab = "Años",
        ylab = "Porcentaje(%)",
        col = "lightgreen",
        names.arg=TDF_Año$`Intervalos de año`,
        las=2,
        cex.names=0.6)

# Diagrama de barrras global
barplot(ni,
        main="Gráfica N°3: Distribución de los años que se llevo a cabo el
        estudio de contaminación del agua ",
        xlab = "Años",
        ylab = "Cantidad",
        col = "pink",
        ylim = c(0,3000),
        names.arg=TDF_Año$`Intervalos de año`,
        las=2,
        cex.names=0.55)

barplot(TDF_Año$hi,
        main="Gráfica N°4: Distribución porcentual de los años que se
        llevo a cabo el estudio de contaminación del agua",
        xlab = "Años",
        ylab = "Porcentaje (%)",
        col = "skyblue",
        ylim = c(0,100),
        names.arg=TDF_Año$`Intervalos de año`,
        las=2,
        cex.names=0.55)

# Diagrama de Ojiva Ascendente y Descendente
x_pos <- 1:length(TDF_Año$`Intervalos de año`)
plot(x_pos ,Ni_desc,
     main = "Gráfica N°5:Distribución de frecuencias acumuladas 
       Ascendentes y  Descendentes de los años que se llevo a cabo el
        estudio de contaminación del agua",
     xlab = " Años",
     ylab = "Cantidad",
     col = "orange",
     type = "p",
     lwd = 3,
     xaxt="n")


lines(x_pos,Ni_asc,
      col = "green",
      type = "p",
      lwd = 3)
axis(side = 1, at = x_pos, labels = TDF_Año$`Intervalos de año`, las = 1, cex.axis = 0.9)

# Diagrama de Ojiva Ascendente y Descendente Porcentual
x_por <- 1:length(TDF_Año$hi)
plot(x_pos, Hi_desc * 100,
     main = "Gráfica N°6: Distribución porcentual acumulada 
Ascendentes y Descendentes de los años que se llevo a cabo el 
estudio de contaminación del agua ",
     xlab = " Años",
     ylab = "Porcentaje (%)",
     col = "red",
     type = "p",
     lwd = 2,
     xaxt="n")
lines(x_pos, Hi_asc * 100,
      col = "blue",
      type = "p",
      lwd = 3)
axis(side = 1, at = x_pos, labels = TDF_Año$`Intervalos de año`, las = 1, cex.axis = 0.9)

# Diagrama de Caja

boxplot(Año,
        horizontal = TRUE,
        main = "Gráfica N°7:Distribución de frecuencia de los años
        que se llevo a cabo el estudio de contaminación del agua ",
        xlab = " Años",
        col = "purple",
        pch = 1)

# INDICADORES ESTADISTICOS

# Indicadores de Tendencia Central

# Media aritmética
media <- round(mean(Año),0)
media
## [1] 2012
# Moda
max_frecuencia <- max(TDF_Año$ni)
moda <- TDF_Año$`Intervalos de año`[TDF_Año$ni == max_frecuencia]
moda
## [1] 2020-2024
## Levels: 2000-2004 2005-2009 2010-2014 2015-2019 2020-2024
# Mediana
mediana <- median(Año)
mediana
## [1] 2012
# INDICADORES DE DISPERSIÓN #

# Varianza
varianza <- var(Año)
varianza
## [1] 52.26259
# Desviación Estándar
sd <- sd(Año)
sd
## [1] 7.229287
# Coeficiente de Variación
cv <- round((sd / media) * 100, 2)
cv
## [1] 0.36
# INDICADORES DE FORMA #

# Asimetría
library(e1071)
asimetria <- skewness(Año, type = 2)
asimetria
## [1] 0.00484668
#Curtosis
curtosis <- kurtosis(Año)
curtosis
## [1] -1.208784
tabla_indicadores <- data.frame("Variable" =c("Año"),
                                "Rango" = c("[10 ;999]"),
                                "X" = c(round(media,0)),
                                "Me" = c(round(mediana,0)),
                                "Mo" = c("No tiene moda"),
                                "V" = c(round(varianza,0)),
                                "Sd" = c(round(sd,0)),
                                "Cv" = c(cv),
                                "As" = c(round(asimetria,2)),
                                "K" = c(round(curtosis,2)),
                                "Valores Atipicos" = "No hay presencia de valores atípicos")
library(knitr)
library(kableExtra)
kable(tabla_indicadores, align = 'c', 
      caption = "Conclusiones de la variable año que se llevo a cabo el estudio de contaminación del agua")
Conclusiones de la variable año que se llevo a cabo el estudio de contaminación del agua
Variable Rango X Me Mo V Sd Cv As K Valores.Atipicos
Año [10 ;999] 2012 2012 No tiene moda 52 7 0.36 0 -1.21 No hay presencia de valores atípicos