UNIVERSIDAD CENTRAL DEL ECUADOR

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

FECHA: 22/11/2025

#Estadistica Descriptiva

#Juan Arteaga

#22/11/2025

#VARIABLE CUALITATIVA ORDINAL:

#Cargar los Datos

setwd("C:/Users/arian/OneDrive/Escritorio/3 SEMESTRE/ESTADISTICA Y PROBABILIDAD")
datos<-read.csv("soil_pollution_diseases.csv",header = TRUE,dec = ".",
                sep = ",")
str(datos)
## 'data.frame':    3000 obs. of  24 variables:
##  $ Case_ID                      : chr  "CASE_100000" "CASE_100001" "CASE_100002" "CASE_100003" ...
##  $ Date_Reported                : chr  "12/9/2024" "1/1/2024" "24/2/2025" "24/9/2024" ...
##  $ Region                       : chr  "Africa" "Africa" "Europe" "Asia" ...
##  $ Country                      : chr  "Pakistan" "Germany" "Germany" "USA" ...
##  $ Pollutant_Type               : chr  "Lead" "Lead" "Lead" "Lead" ...
##  $ Pollutant_Concentration_mg_kg: int  7804 1633 16733 8923 9393 12347 644 1171 11161 12159 ...
##  $ Soil_pH                      : int  83 796 535 566 764 518 489 814 524 819 ...
##  $ Temperature_C                : int  356 310 164 314 170 123 339 191 439 131 ...
##  $ Humidity_.                   : int  649 731 338 305 586 912 530 697 781 347 ...
##  $ Rainfall_mm                  : int  624 82 1217 1169 2370 3863 488 1247 3758 181 ...
##  $ Crop_Type                    : chr  "Wheat" "Potato" "Soybean" "Wheat" ...
##  $ Farming_Practice             : chr  "Integrated" "Permaculture" "Organic" "Permaculture" ...
##  $ Nearby_Industry              : chr  "Mining" "Mining" "Chemical" "None" ...
##  $ Water_Source_Type            : chr  "Well" "Irrigation Canal" "River" "Irrigation Canal" ...
##  $ Soil_Texture                 : chr  "Sandy" "Silty" "Clay" "Silty" ...
##  $ Soil_Organic_Matter_.        : int  198 971 549 398 94 818 52 544 90 359 ...
##  $ Disease_Type                 : chr  "Gastrointestinal Disease" "Cancer" "Gastrointestinal Disease" "Neurological Disorder" ...
##  $ Disease_Severity             : chr  "Moderate" "Mild" "Severe" "Severe" ...
##  $ Health_Symptoms              : chr  "Breathing Difficulty" "Breathing Difficulty" "Nausea" "Fatigue" ...
##  $ Age_Group_Affected           : chr  "Adults" "Elderly" "Children" "Adults" ...
##  $ Gender_Most_Affected         : chr  "Male" "Both" "Both" "Male" ...
##  $ Mitigation_Measure           : chr  "Government Regulation" "Community Awareness" "Soil Remediation" "Community Awareness" ...
##  $ Case_Resolved                : chr  "No" "Yes" "Yes" "Yes" ...
##  $ Follow_Up_Required           : chr  "Yes" "No" "No" "No" ...
#Nivel_Enfermedad

Nivel_Enfermedad<-datos$Disease_Severity

# Tabla de distribución de frecuencia

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

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

TDF_Enfermedad_suma<-rbind(TDF_Nivel_Enfermedad, Summary)
colnames(TDF_Enfermedad_suma) <- c("Nivel Enfermedad", "ni", "hi(%)")


# Ordenar la tabla en el orden deseado
TDF_Enfermedad_suma$`Nivel Enfermedad` <- factor(
  TDF_Enfermedad_suma$`Nivel Enfermedad`,
  levels = c("Severe", "Moderate", "Mild", "TOTAL")
)

TDF_Enfermedad_suma <- TDF_Enfermedad_suma[
  order(TDF_Enfermedad_suma$`Nivel Enfermedad`),
]


#TABLA
library(knitr)
library(kableExtra)

kable(
  TDF_Enfermedad_suma,
  align = 'c',
  caption = "Tabla N12: Distribucion de frecuencias de los niveles de enfermedad"
) %>%
  kable_styling(
    full_width = FALSE,
    position = "center",
    bootstrap_options = c("striped", "hover", "condensed")
  )
Tabla N12: Distribucion de frecuencias de los niveles de enfermedad
Nivel Enfermedad ni hi(%)
3 Severe 1023 34.10
2 Moderate 998 33.27
1 Mild 979 32.63
4 TOTAL 3000 100.00
#Graficas
# Diagrama de barrras local ni

barplot(ni, main = "Gráfica N°61: Distribución de frecuencias de los Niveles de Enfermedad",
        xlab = "Niveles de enfermedad",
        ylab = "Cantidad",
        col = "red",
        ylim = c(0,1000),
        las = 2,
        cex.names = 0.6,
        names.arg = TDF_Nivel_Enfermedad$Nivel_Enfermedad)

#Diagrama de barras global ni 

barplot(ni, main = "Gráfica N°62: Distribución de frecuencias de los niveles de enfermedad",
        xlab = "Niveles de Enfermedad",
        ylab = "Cantidad",
        col = "skyblue",
        ylim = c(0,3000),
        las=2,
        cex.names = 0.6,
        names.arg = TDF_Nivel_Enfermedad$Nivel_Enfermedad)

#Diagrama de barras local hi(%)

barplot(hi, main = "Gráfica N°63: Distribución de frecuencias porcentual de los niveles de enfermedad",
        xlab = "Niveles de Enfermedad",
        ylab = "Porcentaje",
        col = "green",
        ylim = c(0,40),
        las = 2,
        cex.names = 0.6,
        names.arg = TDF_Nivel_Enfermedad$Nivel_Enfermedad)

#Diagrama de barras global hi(%)

barplot(hi, main = "Gráfica N°64: Distribución de frecuencias porcentual de los niveles de enfermedad",
        xlab = "Niveles de Enfermedad",
        ylab = "Porcentaje",
        col = "blue",
        ylim = c(0,40),
        las = 2,
        cex.names = 0.6,
        names.arg = TDF_Nivel_Enfermedad$Nivel_Enfermedad)

#Diagrama circular

etiqueta_pie <- paste(TDF_Nivel_Enfermedad$hi, "%")
pie(hi,
    main = "Gráfica N°65 Distribución porcentual de los niveles de enfermedad",
    radius = 1,
    labels = etiqueta_pie,
    col = rev(heat.colors(length(hi))),
    cex = 0.9,
    cex.main = 1)

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