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 ORDINAL
# =========================

Nivel_Enfermedad <- datos$Disease_Severity
Nivel_Enfermedad <- as.factor(Nivel_Enfermedad)

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

TDF_Nivel <- data.frame(table(Nivel_Enfermedad))

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

TDF_Nivel <- data.frame(
  Nivel_Enfermedad = TDF_Nivel$Nivel_Enfermedad,
  ni,
  hi
)

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

TDF_Nivel_suma <- rbind(TDF_Nivel, Summary)
colnames(TDF_Nivel_suma) <- c("Nivel_Enfermedad", "ni", "hi(%)")

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

TDF_Nivel_suma %>%
  gt() %>%
  tab_header(
    title = md("*Tabla Nro. 11*"),
    subtitle = md("**Tabla de distribución del nivel de enfermedad**")
  ) %>%
  tab_source_note(
    source_note = md("Autor: Grupo 3")
  )
Tabla Nro. 11
Tabla de distribución del nivel de enfermedad
Nivel_Enfermedad ni hi(%)
Mild 979 32.63
Moderate 998 33.27
Severe 1023 34.10
TOTAL 3000 100.00
Autor: Grupo 3
# =========================
# GRÁFICAS
# =========================

# 1️⃣ Diagrama de barras local ni
barplot(ni,
        main = "Gráfica N°51: Distribución del nivel de enfermedad",
        xlab = "Nivel de enfermedad",
        ylab = "Cantidad",
        col = "red",
        ylim = c(0,1000),
        las = 1,
        cex.names = 0.7,
        names.arg = TDF_Nivel$Nivel_Enfermedad)

# 2️⃣ Diagrama de barras global ni
barplot(ni,
        main = "Gráfica N°52: Distribución del nivel de enfermedad",
        xlab = "Nivel de enfermedad",
        ylab = "Cantidad",
        col = "skyblue",
        ylim = c(0,3000),
        las = 1,
        cex.names = 0.7,
        names.arg = TDF_Nivel$Nivel_Enfermedad)

# 3️⃣ Diagrama de barras local hi(%)
barplot(hi,
        main = "Gráfica N°53: Distribución porcentual del nivel de enfermedad",
        xlab = "Nivel de enfermedad",
        ylab = "Porcentaje",
        col = "green",
        ylim = c(0,40),
        las = 1,
        cex.names = 0.7,
        names.arg = TDF_Nivel$Nivel_Enfermedad)

# 4️⃣ Diagrama de barras global hi(%)
barplot(hi,
        main = "Gráfica N°54: Distribución porcentual del nivel de enfermedad",
        xlab = "Nivel de enfermedad",
        ylab = "Porcentaje",
        col = "blue",
        ylim = c(0,100),
        las = 1,
        cex.names = 0.7,
        names.arg = TDF_Nivel$Nivel_Enfermedad)

# =========================
# 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°55: Distribución porcentual del nivel de enfermedad",
  cex = 1
)

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

# =========================
# MEDIDAS DE TENDENCIA CENTRAL
# =========================

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

moda_nivel <- moda(Nivel_Enfermedad)

# Mediana
Nivel_num <- as.numeric(Nivel_Enfermedad)
mediana_pos <- median(Nivel_num)
mediana_nivel <- levels(Nivel_Enfermedad)[round(mediana_pos)]

moda_nivel
## [1] "Severe"
mediana_nivel
## [1] "Moderate"
# =========================
# CONCLUSIÓN
# =========================

cat("La variable Nivel_Enfermedad gira entorno a", mediana_nivel)
## La variable Nivel_Enfermedad gira entorno a Moderate