# Estadística Descriptiva: Nivel de Contaminación
# Autor: Grupo 1
# Fecha: 25/11/2025
# Establecer directorio y cargar datos
setwd("C:/Users/LENOVO/OneDrive/Escritorio/ESTADISTICA")
datos <- read.csv("china_water_pollution_data.csv")
# Extraer variable cualitativa ordinal
Nivel_cont <- datos$Pollution_Level
# Calcular frecuencias absolutas y relativas
ni <- table(Nivel_cont)
hi <- round(100 * ni / sum(ni), 2)
# Crear dataframe con resultados
TDF_Nivel <- data.frame(
Nivel = names(ni),
ni = as.numeric(ni),
hi = as.numeric(hi)
)
# Ordenar por jerarquía (Muy Alta → Muy Baja)
jerarquia <- c("Muy Alta","Alta","Media","Baja","Muy Baja")
TDF_Nivel <- TDF_Nivel[order(factor(TDF_Nivel$Nivel, levels = jerarquia)), ]
rownames(TDF_Nivel) <- NULL
# Agregar fila TOTAL
Sumatoria <- data.frame(
Nivel = "TOTAL",
ni = sum(TDF_Nivel$ni),
hi = sum(TDF_Nivel$hi)
)
TDF_Nivel_suma <- rbind(TDF_Nivel, Sumatoria)
# Renombrar columnas
colnames(TDF_Nivel_suma) <- c("Nivel","ni","hi (%)")
# Mostrar tabla con estilo
library(knitr)
## Warning: package 'knitr' was built under R version 4.5.2
library(kableExtra)
## Warning: package 'kableExtra' was built under R version 4.5.2
kable(TDF_Nivel_suma, align = 'c',
caption = "Tabla de Distribución de Frecuencias de Nivel de Contaminación") %>%
kable_styling(full_width = FALSE, position = "center",
bootstrap_options = c("striped", "hover", "condensed"))
Tabla de Distribución de Frecuencias de Nivel de Contaminación
|
Nivel
|
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 barrras local
options(scipen = 999)
barplot(TDF_Nivel$ni,
main = "Gráfica N°1: Distribución de los niveles de contaminación del
agua en China",
xlab = "Nivel de Contaminante",
ylab = "Cantidad",
col = "skyblue",
cex.names = 0.5,
ylim = c(0, 700),
las = 3,
names.arg = TDF_Nivel$Nivel)

barplot(TDF_Nivel$hi,
main="Gráfica N°2: Distribución porcentual niveles de contaminación del
agua en China",
xlab = "Nivel de Contaminante",
ylab = "Porcentaje (%)",
col = "green",
ylim = c(0,30),
las=1,
names.arg=TDF_Nivel$Nivel)

# Diagrama de barrras global
barplot(TDF_Nivel$ni,
main="Gráfica N°3: Distribución de cantidad de niveles de
contaminación del agua en China",
ylab = "Cantidad",
col = "pink",
ylim = c(0,sum(ni)),
las=1,
cex.axis = 0.7,
las=1,
names.arg = TDF_Nivel$Nivel)

barplot(TDF_Nivel$hi,
main="Gráfica N°4: Distribución porcentual de niveles de
contaminación del agua en China",
ylab = "Porcentaje (%)",
col = "skyblue",
ylim = c(0,100),
names.arg=TDF_Nivel$Nivel)

# Diagrma circular
pie(TDF_Nivel$hi,
main = "Gráfica N° 5: Distribución porcentual de de niveles de
contaminación del agua en China",
radius = 1,
labels = paste0(TDF_Nivel$hi,"%"),
col = colores <- c(heat.colors(3)),
cex=1,
cex.main=1.2)
legend("topright",
legend = TDF_Nivel$Nivel,
fill = colores <- c(heat.colors(3)),
cex = 0.95,
title = "Leyenda")
