#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")
