UNIVERSIDAD CENTRAL DEL ECUADOR

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

FECHA: 19/11/2025

# =========================
# ESTADÍSTICA Descriptiva
# Fecha: 19/11/2025
# =========================

library(gt)
library(dplyr)

# -------------------------
# Cargar datos
# -------------------------
setwd("C:/Users/Alexander/Downloads")

datos <- read.csv(
  "soil_pollution_diseases.csv",
  sep = ",",
  stringsAsFactors = FALSE
)

# =========================
# VARIABLE CUALITATIVA NOMINAL
# =========================

Tipo_Contaminante <- datos$Pollutant_Type
Tipo_Contaminante <- as.factor(Tipo_Contaminante)

# =========================
# TABLA DE FRECUENCIAS
# =========================

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

ni <- TDF_Contaminante$Freq
hi <- round((ni / sum(ni)) * 100, 2)

TDF_Contaminante <- data.frame(
  Tipo_Contaminante = TDF_Contaminante$Tipo_Contaminante,
  ni,
  hi
)

Summary <- data.frame(
  Tipo_Contaminante = "TOTAL",
  ni = sum(ni),
  hi = 100
)

TDF_Contaminante_suma <- rbind(TDF_Contaminante, Summary)
colnames(TDF_Contaminante_suma) <- c("Tipo_Contaminante", "ni", "hi(%)")

# =========================
# TABLA FORMATEADA
# =========================

TDF_Contaminante_suma %>%
  gt() %>%
  tab_header(
    title = md("*Tabla Nro. 12*"),
    subtitle = md("**Tabla de distribución del tipo de contaminante**")
  ) %>%
  tab_source_note(
    source_note = md("Autor: Grupo 3")
  )
Tabla Nro. 12
Tabla de distribución del tipo de contaminante
Tipo_Contaminante ni hi(%)
Arsenic 489 16.30
Cadmium 516 17.20
Chromium 509 16.97
Lead 529 17.63
Mercury 458 15.27
Pesticides 499 16.63
TOTAL 3000 100.00
Autor: Grupo 3
# =========================
# GRÁFICAS
# =========================

# 1️⃣ Diagrama de barras local ni
barplot(ni,
        main = "Gráfica N°56: Distribución del tipo de contaminante",
        xlab = "Tipo de contaminante",
        ylab = "Cantidad",
        col = "red",
        ylim = c(0,600),
        las = 2,
        cex.names = 0.7,
        names.arg = TDF_Contaminante$Tipo_Contaminante)

# 2️⃣ Diagrama de barras global ni
barplot(ni,
        main = "Gráfica N°57: Distribución del tipo de contaminante",
        xlab = "Tipo de contaminante",
        ylab = "Cantidad",
        col = "skyblue",
        ylim = c(0,3000),
        las = 2,
        cex.names = 0.7,
        names.arg = TDF_Contaminante$Tipo_Contaminante)

# 3️⃣ Diagrama de barras local hi(%)
barplot(hi,
        main = "Gráfica N°58: Distribución porcentual del tipo de contaminante",
        xlab = "Tipo de contaminante",
        ylab = "Porcentaje",
        col = "green",
        ylim = c(0,20),
        las = 2,
        cex.names = 0.7,
        names.arg = TDF_Contaminante$Tipo_Contaminante)

# 4️⃣ Diagrama de barras global hi(%)
barplot(hi,
        main = "Gráfica N°59: Distribución porcentual del tipo de contaminante",
        xlab = "Tipo de contaminante",
        ylab = "Porcentaje",
        col = "blue",
        ylim = c(0,100),
        las = 2,
        cex.names = 0.7,
        names.arg = TDF_Contaminante$Tipo_Contaminante)

# =========================
# DIAGRAMA CIRCULAR
# =========================

etiquetas <- paste0(hi, " %")
colores <- c("yellow", "khaki1", "gold", "orange", "darkorange", "red")

par(mar = c(2,2,4,6))

pie(
  hi,
  labels = etiquetas,
  col = colores,
  main = "Gráfica N°60: Distribución porcentual del tipo de contaminante",
  cex = 1
)

legend(
  "topright",
  legend = TDF_Contaminante$Tipo_Contaminante,
  fill = colores,
  title = "Leyenda",
  cex = 0.6,
  xpd = TRUE
)

# =========================
# MEDIDA DE TENDENCIA CENTRAL
# =========================

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

moda_contaminante <- moda(Tipo_Contaminante)
moda_contaminante
## [1] "Lead"
# =========================
# CONCLUSIÓN
# =========================


cat("El valor más frecuente en la variable Tipo de Contaminante es", moda_contaminante)
## El valor más frecuente en la variable Tipo de Contaminante es Lead