# Estadística Descriptiva: Nivel de Contaminación
# Autor: Camila Zambrano
# Fecha: 25/11/2025
# Carga de librerías
library(knitr)
library(kableExtra)
# Establecer directorio y cargar datos
setwd("C:/Users/Usuario/Documents/Camila/Estadística/R")
datos <- read.csv(
"china_water_pollution_data.csv",
header = TRUE,
sep = ";",
dec = "," )
# Extraer variable cualitativa ordinal
Nivel_contaminacion <- datos$Pollution_Level
# Tabla de distribución de frecuencia
TDF_nivel_contaminacion <- data.frame(table(Nivel_contaminacion))
ni <- TDF_nivel_contaminacion$Freq
hi <- round((ni / sum(ni)) * 100, 2)
Nivel_contaminacion <- TDF_nivel_contaminacion$Nivel_contaminacion
TDF_nivel_contaminacion <- data.frame(Nivel_contaminacion, ni, hi)
# Agregar fila TOTAL
Sumatoria <- data.frame(
Nivel_contaminacion = "TOTAL",
ni = sum(ni),
hi = 100
)
TDF_nivel_contaminacion_suma <- rbind(TDF_nivel_contaminacion, Sumatoria)
# Renombrar columnas para presentación
colnames(TDF_nivel_contaminacion_suma) <- c("Nivel de contaminación", "ni", "hi (%)")
colnames(TDF_nivel_contaminacion) <- c("Nivel de contaminación", "ni", "hi (%)")
# Mostrar tabla con estilo
kable(
TDF_nivel_contaminacion_suma,
align = "c",
caption = "Tabla N°5: Tabla de Distribución de Frecuencias de los Niveles de contaminación
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°5: Tabla de Distribución de Frecuencias de los Niveles de
contaminación de estudio de contaminación del agua en China en el año
2023.
|
Nivel de contaminación
|
ni
|
hi (%)
|
|
Excellent
|
594
|
19.80
|
|
Good
|
622
|
20.73
|
|
Moderate
|
588
|
19.60
|
|
Poor
|
587
|
19.57
|
|
Very Poor
|
609
|
20.30
|
|
TOTAL
|
3000
|
100.00
|
# Diagrama de barras
options(scipen = 999)
barplot(
TDF_nivel_contaminacion$ni,
main = "Gráfica N°1: Distribución de frecuencia de los Niveles de
contaminación de estudio de contaminación del agua
en China en el año 2023",
xlab = "Niveles de contaminación",
ylab = "Cantidad",
col = "skyblue",
cex.names = 0.5,
ylim = c(0, 700),
las = 3,
names.arg = TDF_nivel_contaminacion$`Nivel de contaminación`
)

# Diagrama de barras (porcentaje)
barplot(
TDF_nivel_contaminacion$`hi (%)`,
main = "Gráfica N°2: Distribución porcentual de los Niveles de contaminación
de estudio de contaminación del agua en China en el año 2023",
xlab = "Niveles de contaminación",
ylab = "Porcentaje",
col = "green",
ylim = c(0, 30),
las = 1,
cex.names = 0.6,
names.arg = TDF_nivel_contaminacion$`Nivel de contaminación`
)

# Diagrama de barras global
barplot(
TDF_nivel_contaminacion$ni,
main = "Gráfica N°3: Distribución de frecuencias de los Niveles de contaminación
de estudio de contaminación del agua en China en el año 2023",
xlab = "Niveles de contaminación",
ylab = "Cantidad",
col = "pink",
ylim = c(0, 3000),
las = 1,
cex.names = 0.6,
names.arg = TDF_nivel_contaminacion$`Nivel de contaminación`
)

# Diagrama de barras global (porcentaje)
barplot(
TDF_nivel_contaminacion$`hi (%)`,
main = "Gráfica N°4: Distribución porcentual de los Niveles de contaminación
de estudio de contaminación del agua en China en el año 2023",
xlab = "Niveles de contaminación",
ylab = "Porcentaje",
col = "skyblue",
ylim = c(0, 100),
las = 1,
cex.names = 0.6,
names.arg = TDF_nivel_contaminacion$`Nivel de contaminación`
)

# Diagrama circular
n_categorias <- nrow(TDF_nivel_contaminacion)
colores <- heat.colors(n_categorias)
pie(
TDF_nivel_contaminacion$`hi (%)`,
main = "Gráfica N°5: Distribución porcentual de los Niveles de contaminación
de estudio de contaminación del agua en China en el año 2023",
radius = 1.0,
labels = paste0(TDF_nivel_contaminacion$`hi (%)`, "%"),
col = colores,
cex = 0.9,
cex.main = 1
)
legend(
"topright",
legend = TDF_nivel_contaminacion$`Nivel de contaminación`,
fill = colores,
cex = 0.8,
title = "Leyenda"
)
