#Tema: Estadística Descriptiva
#Fecha: 23/11/2025
#Autor:Anahi Sosa
#Carga de librerias
library(knitr)
library(kableExtra)

#Carga de datos
getwd()
## [1] "/cloud/project"
setwd("/cloud/project")
datos<- read.csv("china_water_pollution_data.csv",header = TRUE, sep = ",", 
                 dec = ".")

#CIUDAD
Ciudad <- datos$City
# Tabla de distribución de frecuencia
TDF_ciudad <- data.frame(table(Ciudad))
ni <- TDF_ciudad$Freq
hi <- round((ni / sum(ni)) * 100, 2)
Ciudad <- TDF_ciudad$Ciudad
TDF_ciudad <- data.frame(Ciudad, ni, hi)
Sumatoria <- data.frame(Ciudad = "TOTAL", ni = sum(ni), hi = 100)
TDF_ciudad_suma <- rbind(TDF_ciudad, Sumatoria)
colnames(TDF_ciudad_suma) <- c("Ciudad", "ni", "hi(%)")
colnames(TDF_ciudad) <- c("Ciudad", "ni", "hi (%)")

# Tabla
kable(TDF_ciudad_suma, align = 'c', 
      caption = "Tabla N°1: Tabla de Distribución de Frecuencias de las Ciudades
      de estudio de contaminación del agua en China en el año 2023") %>%
  kable_styling(full_width = FALSE, position = "center", 
                bootstrap_options = c("striped", "hover", "condensed"))
Tabla N°1: Tabla de Distribución de Frecuencias de las Ciudades de estudio de contaminación del agua en China en el año 2023
Ciudad ni hi(%)
Beijing 299 9.97
Chengdu 165 5.50
Dali 144 4.80
Guangzhou 146 4.87
Hangzhou 148 4.93
Jinan 160 5.33
Kunming 152 5.07
Luoyang 138 4.60
Mianyang 146 4.87
Nanjing 153 5.10
Ningbo 156 5.20
Qingdao 140 4.67
Shanghai 312 10.40
Shenzhen 155 5.17
Suzhou 140 4.67
Wuhan 154 5.13
Yichang 138 4.60
Zhengzhou 154 5.13
TOTAL 3000 100.00
# Se agrupo en regiones debido a la cantidad de valores que toma la variable
# Crear columna Región usando ifelse
tabla <- data.frame(
  Ciudad = c(
    "Beijing","Chengdu","Dali","Guangzhou","Hangzhou","Jinan","Kunming",
    "Luoyang","Mianyang","Nanjing","Ningbo","Qingdao","Shanghai","Shenzhen",
    "Suzhou","Wuhan","Yichang","Zhengzhou"
  )
)

tabla$Region <- ifelse(tabla$Ciudad %in% c("Beijing", "Jinan", "Qingdao"),
                       "Norte",
  ifelse(tabla$Ciudad %in% c("Chengdu","Dali","Kunming","Mianyang","Shenzhen"),
                               "Sudoeste",
  ifelse(tabla$Ciudad %in% c("Guangzhou"),"Sur",
 ifelse(tabla$Ciudad %in% c("Hangzhou","Nanjing","Ningbo","Shanghai","Suzhou"),
                                            "Este",
ifelse(tabla$Ciudad %in% c("Luoyang","Wuhan","Yichang","Zhengzhou"), "Centro",      
                                                   NA)))))
TDF_region <- data.frame(table(tabla$Region))
colnames(TDF_region) <- c("Region", "ni")
TDF_region$hi <- round((TDF_region$ni / sum(TDF_region$ni)) * 100, 2)
TDF_region
##     Region ni    hi
## 1   Centro  4 22.22
## 2     Este  5 27.78
## 3    Norte  3 16.67
## 4 Sudoeste  5 27.78
## 5      Sur  1  5.56
Sumatoria <- data.frame(Region = "TOTAL", ni = sum(ni), hi = 100)
TDF_region_final <- rbind(TDF_region, Sumatoria)
colnames(TDF_region_final) <- c("Región", "ni", "hi (%)")
# Tabla
kable(TDF_region_final, align = 'c', 
      caption = "Tabla N°2: Distribución de Frecuencias de las Ciudades
      agrupadas por región en el estudio de contaminación del agua en China 
      en el año 2023") %>%
  kable_styling(full_width = FALSE, position = "center", 
                bootstrap_options = c("striped", "hover", "condensed"))
Tabla N°2: Distribución de Frecuencias de las Ciudades agrupadas por región en el estudio de contaminación del agua en China en el año 2023
Región ni hi (%)
Centro 4 22.22
Este 5 27.78
Norte 3 16.67
Sudoeste 5 27.78
Sur 1 5.56
TOTAL 3000 100.00
TDF_regionsintotal <- TDF_region_final[TDF_region_final$Región != "TOTAL", ]


# Diagrama de barras local
barplot(TDF_regionsintotal$ni, main = "Gráfica N°1: Distribución de las ciudades
        agrupadas por región en el estudio de contaminación del agua 
        en China en el año 2023",
        xlab = "Región",
        ylab = "Cantidad",
        col = "skyblue",
        ylim = c(0,10),
        las = 2,
        cex.names = 0.6,
        names.arg = TDF_regionsintotal$Región)

barplot(TDF_regionsintotal$hi, main = "Gráfica N°2: Distribución de las ciudades 
        agrupadas por región en el estudio de contaminación del agua en 
        China en el año 2023",
        xlab = "Región",
        ylab = "Porcentaje (%)",
        col = "skyblue",
        ylim = c(0,30),
        las = 2,
        cex.names = 0.6,
        names.arg = TDF_regionsintotal$Región)

# Diagrama de barras global
barplot(TDF_regionsintotal$ni, main = "Gráfica N°3: Distribución de las ciudades
        agrupadas por región en el estudio de contaminación del agua en 
        China en el año 2023",
        xlab = "Región",
        ylab = "Cantidad",
        col = "skyblue",
        ylim = c(0,3000),
        las=2,
        cex.names = 0.6,
        names.arg = TDF_regionsintotal$Región)

barplot(TDF_regionsintotal$hi, main = "Gráfica N°4: Distribución de las ciudades 
agrupadas por región en el estudio de contaminación del agua 
en China en el año 2023",
        xlab = "Región",
        ylab = "Porcentaje (%)",
        col = "skyblue",
        ylim = c(0,100),
        las = 3,
        cex.names = 0.6,
        names.arg = TDF_regionsintotal$Región)

labels_info <- sprintf("%.2f%%", TDF_regionsintotal$hi)
pie(TDF_regionsintotal$hi,
    main = "Gráfica N°5: Distribución de las ciudades
    agrupadas por región en el estudio de contaminación del agua en 
    China en el año 2023 ",
    radius = 1.0,
    labels = labels_info,
    col = rev(heat.colors(10)),
    cex = 0.9,
    cex.main = 1)

legend("topright",
       legend = TDF_regionsintotal$Región,
       fill = colores <- c(rev(heat.colors(10))),
       cex = 0.8,
       title = "Leyenda")