#Carga de Librerias
library(kableExtra)
library(knitr)
library(dplyr)
##
## Attaching package: 'dplyr'
## The following object is masked from 'package:kableExtra':
##
## group_rows
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(magrittr)
library(magrittr)
#Carga de datos
getwd()
## [1] "/cloud/project"
setwd("/cloud/project")
datos<- read.csv("china_water_pollution_data.csv",header = TRUE, sep = ",", dec = ".")
# Extracción de variable Observación
Observaciones <- datos$Remarks
#Limpiar la variable Observaciones
Observaciones <- datos$Remarks
Observaciones[Observaciones == ""] <- NA
Observaciones <- na.omit(Observaciones)
# Tabla de distribución de frecuencia
TDF_observaciones <- data.frame(table(Observaciones))
ni <- TDF_observaciones$Freq
hi <- round((ni / sum(ni)) * 100, 2)
Observaciones <- TDF_observaciones$Observaciones
TDF_observaciones <- data.frame(Observaciones, ni, hi)
TDF_observaciones$Observaciones <- as.character(TDF_observaciones$Observaciones)
TDF_observaciones$Observaciones[TDF_observaciones$Observaciones == ""] <- "-"
Sumatoria <- data.frame(Observaciones = "TOTAL", ni = sum(ni), hi = sum(hi))
TDF_observaciones_suma <- rbind(TDF_observaciones, Sumatoria)
colnames(TDF_observaciones_suma) <- c("Observaciones", "ni", "hi(%)")
colnames(TDF_observaciones) <- c("Observaciones", "ni", "hi (%)")
# Tabla
kable(TDF_observaciones_suma, align = 'c',
caption = "Tabla N°4: Tabla de Distribuciónn de Frecuencias de las
Observaciones 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°4: Tabla de Distribuciónn de Frecuencias de las Observaciones de
estudio de contaminación del agua en China en el año 2023
|
Observaciones
|
ni
|
hi(%)
|
|
High pollution spike detected
|
780
|
34.70
|
|
Monitoring recommended
|
745
|
33.14
|
|
Requires attention
|
723
|
32.16
|
|
TOTAL
|
2248
|
100.00
|
# Diagrama de barras local
barplot(ni, main = "Gráfica N°1: Distribución de frecuencias de las
Observaciones de estudio de contaminación del agua en China en el año 2023",
xlab = "Observaciones",
ylab = "Cantidad",
col = "skyblue",
ylim = c(0,700),
las = 1,
cex.names = 0.6,
names.arg = TDF_observaciones$Observaciones)

barplot(hi, main = "Gráfica N°2: Distribución porcentual de las Observaciones
de estudio de la contaminación del agua en China en el año 2023",
xlab = "Observaciones",
ylab = "Porcentaje",
col = "green",
ylim = c(0,30),
las = 1,
cex.names = 0.6,
names.arg = TDF_observaciones$Observaciones)

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

barplot(hi, main = "Gráfica N°4: Distribución de frecuencias porcentual de
las Observaciones de estudio de la contaminacion del agua
en China en el año 2023",
xlab = "Obsevaciones",
ylab = "Porcentaje (%)",
col = "skyblue",
ylim = c(0,100),
las = 1,
cex.names = 0.6,
names.arg = TDF_observaciones$Observaciones)

labels_info <- paste(TDF_observaciones$`hi (%)`, "%")
pie(hi,
main = "Gráfica N°5 Distribución porcentual de las Observaciones de estudio
de la contaminación del agua en China en el año 2023",
radius = 1.1,
labels = labels_info,
col = rev(heat.colors(10)),
cex = 0.8,
cex.main = 1)
legend("topright",
legend = TDF_observaciones$Observaciones,
fill = colores <- c(rev(heat.colors(10))),
cex = 0.6,
title = "Leyenda")

#Indicadores
# Cálculo de la Moda
frecuencias <- table(Observaciones)
moda <- names(frecuencias)[frecuencias == max(frecuencias)]
# Mostrar la moda
moda
## [1] "High pollution spike detected" "Monitoring recommended"
## [3] "Requires attention"