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
)

# =========================
# TABLAS CUALITATIVAS NOMINALES
# =========================

Practica_Agricola <- datos$Farming_Practice

TDF_Practica_Agricola <- data.frame(table(Practica_Agricola))

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

TDF_Practica_Agricola <- data.frame(
  Practica_Agricola = TDF_Practica_Agricola$Practica_Agricola,
  ni,
  hi
)

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

TDF_Practica_Agricola_suma <- rbind(TDF_Practica_Agricola, Summary)
colnames(TDF_Practica_Agricola_suma) <- c("Práctica Agrícola", "ni", "hi(%)")

# =========================
# TABLA
# =========================

TDF_Practica_Agricola_suma %>%
  gt() %>%
  tab_header(
    title = md("*Tabla Nro. 4*"),
    subtitle = md("**Tabla de distribución de la práctica agrícola**")
  ) %>%
  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. 4
Tabla de distribución de la práctica agrícola
Práctica Agrícola ni hi(%)
Conventional 780 26.00
Integrated 750 25.00
Organic 709 23.63
Permaculture 761 25.37
TOTAL 3000 100.00
Autor: Grupo 3
# =========================
# GRÁFICAS
# =========================

# Diagrama de barras local ni
barplot(ni,
        main = "Gráfica N°16: Distribución de la práctica agrícola",
        xlab = "Práctica Agrícola",
        ylab = "Cantidad",
        col = "red",
        ylim = c(0,800),
        las = 2,
        cex.names = 0.6,
        names.arg = TDF_Practica_Agricola$Practica_Agricola)

# Diagrama de barras global ni
barplot(ni,
        main = "Gráfica N°17: Distribución de la práctica agrícola",
        xlab = "Práctica Agrícola",
        ylab = "Cantidad",
        col = "skyblue",
        ylim = c(0,3000),
        las = 2,
        cex.names = 0.6,
        names.arg = TDF_Practica_Agricola$Practica_Agricola)

# Diagrama de barras local hi(%)
barplot(hi,
        main = "Gráfica N°18: Distribución porcentual de la práctica agrícola",
        xlab = "Práctica Agrícola",
        ylab = "Porcentaje",
        col = "green",
        ylim = c(0,30),
        las = 2,
        cex.names = 0.6,
        names.arg = TDF_Practica_Agricola$Practica_Agricola)

# Diagrama de barras global hi(%)
barplot(hi,
        main = "Gráfica N°19: Distribución porcentual de la práctica agrícola",
        xlab = "Práctica Agrícola",
        ylab = "Porcentaje",
        col = "blue",
        ylim = c(0,100),
        las = 2,
        cex.names = 0.6,
        names.arg = TDF_Practica_Agricola$Practica_Agricola)

# =========================
# 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°20 Distribución porcentual de la práctica agrícola",
  cex = 1
)

legend(
  "topright",
  legend = TDF_Practica_Agricola$Practica_Agricola,
  fill = colores,
  title = "Leyenda",
  cex = 0.5,
  xpd = TRUE
)

# =========================
# INDICADORES
# =========================

# Función de moda (si no está ya creada en el script)
moda <- function(x) {
  frec <- table(x)
  names(frec)[which.max(frec)]
}

# Cálculo de la moda
moda_practica <- moda(Practica_Agricola)
moda_practica
## [1] "Conventional"
cat("El valor más frecuente de la Práctica Agrícola es:", moda_practica)
## El valor más frecuente de la Práctica Agrícola es: Conventional