UNIVERSIDAD CENTRAL DEL ECUADOR

ESTUDIO ESTADÍSTICO DE LA CONTAMINACIÓN DEL SUELO Y SU IMPACTO EN LA SALUD

FECHA: 7/12/2025

#Estadistica Descriptiva


#1/12/2025



#Cargar los Datos

datos<-read.csv("soil_pollution_diseases.csv",header = TRUE,dec = ".",
                sep = ",")

#Tipo_Contaminante

Tipo_Contaminante<-datos$Pollutant_Type

# Tabla de distribución de frecuencia

TDF_Tipo_Contaminante<-data.frame(table(Tipo_Contaminante))

ni <- TDF_Tipo_Contaminante$Freq
hi <- round((ni / sum(ni)) * 100, 2)
Tipo_Contaminante <- TDF_Tipo_Contaminante$Tipo_Contaminante
TDF_Tipo_Contaminante <- data.frame(Tipo_Contaminante, ni, hi)
Summary <- data.frame(Tipo_Contaminante = "TOTAL", ni = sum(ni),hi = 100)

TDF_Tipo_Contaminante_Suma<-rbind(TDF_Tipo_Contaminante, Summary)
colnames(TDF_Tipo_Contaminante) <- c("Tipo_Contaminante", "ni", "hi(%)")



# Limpiar espacios en blanco 
TDF_Tipo_Contaminante_Suma$Tipo_Contaminante <- trimws(TDF_Tipo_Contaminante_Suma$Tipo_Contaminante)

#Ordenar la tabla en el orden deseado

niveles_ordenados <- c("Mercury", "Arsenic", "Lead",
                       "Cadmium", "Chromium",
                       "Pesticides", "TOTAL")

TDF_Tipo_Contaminante_Suma$Tipo_Contaminante <- factor(
  TDF_Tipo_Contaminante_Suma$Tipo_Contaminante,
  levels = niveles_ordenados
)


TDF_Tipo_Contaminante_Suma <- TDF_Tipo_Contaminante_Suma[
  order(TDF_Tipo_Contaminante_Suma$Tipo_Contaminante),
]


# TABLA 
library(dplyr)
library(gt)

TDF_Tipo_Contaminante_Suma %>%
  gt() %>%
  tab_header(
    title = md("Tabla Nro. 2"),
    subtitle = md("*Distribución de frecuencias de los Tipos de contaminantes según su peligrosidad*")
  ) %>%
  tab_source_note(
    source_note = md("Autor: Grupo 3")
  ) %>%
  tab_options(
    table.border.top.color = "black",
    table.border.bottom.color = "black",
    table.border.top.style = "solid",
    table.border.bottom.style = "solid",
    column_labels.border.top.color = "black",
    column_labels.border.bottom.color = "black",
    column_labels.border.bottom.width = px(2),
    row.striping.include_table_body = TRUE,
    heading.border.bottom.color = "black",
    heading.border.bottom.width = px(2),
    table_body.hlines.color = "gray",
    table_body.border.bottom.color = "black"
  )
Tabla Nro. 2
Distribución de frecuencias de los Tipos de contaminantes según su peligrosidad
Tipo_Contaminante ni hi
Mercury 458 15.27
Arsenic 489 16.30
Lead 529 17.63
Cadmium 516 17.20
Chromium 509 16.97
Pesticides 499 16.63
TOTAL 3000 100.00
Autor: Grupo 3
#Graficas
# Diagrama de barrras local ni

barplot(ni, main = "Gráfica N°6: Distribución de frecuencias 
        de los Tipos de contaminantes según su peligrosidad ",
        xlab = "Tipos de Contaminante",
        ylab = "Cantidad",
        col = "red",
        ylim = c(0,600),
        las = 2,
        cex.names = 0.6,
        names.arg = TDF_Tipo_Contaminante$Tipo_Contaminante)

#Diagrama de barras global ni 

barplot(ni, main = "Gráfica N°7: Distribución de frecuencias 
        de los Tipos de contaminantes según su peligrosidad",
        xlab = "Tipo de Contaminante",
        ylab = "Cantidad",
        col = "skyblue",
        ylim = c(0,3000),
        las=2,
        cex.names = 0.5,
        names.arg = TDF_Tipo_Contaminante$Tipo_Contaminante)

#Diagrama de barras local hi(%)

barplot(hi, main = "Gráfica N°8: Distribución de frecuencias porcentual
        de los Tipos de contaminantes según su peligrosidad",
        xlab = "Tipo de Contaminante",
        ylab = "Porcentaje",
        col = "green",
        ylim = c(0,40),
        las = 2,
        cex.names = 0.6,
        names.arg = TDF_Tipo_Contaminante$Tipo_Contaminante)

#Diagrama de barras global hi(%)

barplot(hi, main = "Gráfica N°9: Distribución de frecuencias porcentual 
        de los Tipos de contaminantes según su peligrosidad",
        xlab = "Tipo de Contaminante",
        ylab = "Porcentaje",
        col = "blue",
        ylim = c(0,100),
        las = 2,
        cex.names = 0.6,
        names.arg = TDF_Tipo_Contaminante$Tipo_Contaminante)

#Diagrama circular

etiqueta_pie <- paste(TDF_Tipo_Contaminante$hi, "%")
pie(hi,
    main = "Gráfica N°10 Distribución porcentual
    de los Tipos de contaminantes según su peligrosidad",
    radius = 1,
    labels = etiqueta_pie,
    col = rev(heat.colors(length(hi))),
    cex = 0.9,
    cex.main = 1)

legend("topright",
       legend = TDF_Tipo_Contaminante$Tipo_Contaminante,
       fill = colores <- c(rev(heat.colors(10))),
       cex = 0.9,
       title = "Leyenda")

unique(datos$Pollutant_Type)
## [1] "Lead"       "Chromium"   "Pesticides" "Mercury"    "Cadmium"   
## [6] "Arsenic"
#Indicadores

moda <- function(x) {
  frec <- table(x)         
  names(frec)[which.max(frec)]  
}

# Moda 
moda(datos$Pollutant_Type)
## [1] "Lead"