FECHA: 7/12/2025
#Estadistica Descriptiva
#1/12/2025
#Cargar los Datos
datos<-read.csv("soil_pollution_diseases.csv",header = TRUE,dec = ".",
sep = ",")
#Tipo_Contaminante
Tipo_Contaminante<-datos$Pollutant_Type
# Tabla de distribución de frecuencia
TDF_Tipo_Contaminante<-data.frame(table(Tipo_Contaminante))
ni <- TDF_Tipo_Contaminante$Freq
hi <- round((ni / sum(ni)) * 100, 2)
Tipo_Contaminante <- TDF_Tipo_Contaminante$Tipo_Contaminante
TDF_Tipo_Contaminante <- data.frame(Tipo_Contaminante, ni, hi)
Summary <- data.frame(Tipo_Contaminante = "TOTAL", ni = sum(ni),hi = 100)
TDF_Tipo_Contaminante_Suma<-rbind(TDF_Tipo_Contaminante, Summary)
colnames(TDF_Tipo_Contaminante) <- c("Tipo_Contaminante", "ni", "hi(%)")
# Limpiar espacios en blanco
TDF_Tipo_Contaminante_Suma$Tipo_Contaminante <- trimws(TDF_Tipo_Contaminante_Suma$Tipo_Contaminante)
#Ordenar la tabla en el orden deseado
niveles_ordenados <- c("Mercury", "Arsenic", "Lead",
"Cadmium", "Chromium",
"Pesticides", "TOTAL")
TDF_Tipo_Contaminante_Suma$Tipo_Contaminante <- factor(
TDF_Tipo_Contaminante_Suma$Tipo_Contaminante,
levels = niveles_ordenados
)
TDF_Tipo_Contaminante_Suma <- TDF_Tipo_Contaminante_Suma[
order(TDF_Tipo_Contaminante_Suma$Tipo_Contaminante),
]
# TABLA
library(dplyr)
library(gt)
TDF_Tipo_Contaminante_Suma %>%
gt() %>%
tab_header(
title = md("Tabla Nro. 2"),
subtitle = md("*Distribución de frecuencias de los Tipos de contaminantes según su peligrosidad*")
) %>%
tab_source_note(
source_note = md("Autor: Grupo 3")
) %>%
tab_options(
table.border.top.color = "black",
table.border.bottom.color = "black",
table.border.top.style = "solid",
table.border.bottom.style = "solid",
column_labels.border.top.color = "black",
column_labels.border.bottom.color = "black",
column_labels.border.bottom.width = px(2),
row.striping.include_table_body = TRUE,
heading.border.bottom.color = "black",
heading.border.bottom.width = px(2),
table_body.hlines.color = "gray",
table_body.border.bottom.color = "black"
)
| Tabla Nro. 2 |
| Distribución de frecuencias de los Tipos de contaminantes según su peligrosidad |
| Tipo_Contaminante |
ni |
hi |
| Mercury |
458 |
15.27 |
| Arsenic |
489 |
16.30 |
| Lead |
529 |
17.63 |
| Cadmium |
516 |
17.20 |
| Chromium |
509 |
16.97 |
| Pesticides |
499 |
16.63 |
| TOTAL |
3000 |
100.00 |
| Autor: Grupo 3 |
#Graficas
# Diagrama de barrras local ni
barplot(ni, main = "Gráfica N°6: Distribución de frecuencias
de los Tipos de contaminantes según su peligrosidad ",
xlab = "Tipos de Contaminante",
ylab = "Cantidad",
col = "red",
ylim = c(0,600),
las = 2,
cex.names = 0.6,
names.arg = TDF_Tipo_Contaminante$Tipo_Contaminante)

#Diagrama de barras global ni
barplot(ni, main = "Gráfica N°7: Distribución de frecuencias
de los Tipos de contaminantes según su peligrosidad",
xlab = "Tipo de Contaminante",
ylab = "Cantidad",
col = "skyblue",
ylim = c(0,3000),
las=2,
cex.names = 0.5,
names.arg = TDF_Tipo_Contaminante$Tipo_Contaminante)

#Diagrama de barras local hi(%)
barplot(hi, main = "Gráfica N°8: Distribución de frecuencias porcentual
de los Tipos de contaminantes según su peligrosidad",
xlab = "Tipo de Contaminante",
ylab = "Porcentaje",
col = "green",
ylim = c(0,40),
las = 2,
cex.names = 0.6,
names.arg = TDF_Tipo_Contaminante$Tipo_Contaminante)

#Diagrama de barras global hi(%)
barplot(hi, main = "Gráfica N°9: Distribución de frecuencias porcentual
de los Tipos de contaminantes según su peligrosidad",
xlab = "Tipo de Contaminante",
ylab = "Porcentaje",
col = "blue",
ylim = c(0,100),
las = 2,
cex.names = 0.6,
names.arg = TDF_Tipo_Contaminante$Tipo_Contaminante)

#Diagrama circular
etiqueta_pie <- paste(TDF_Tipo_Contaminante$hi, "%")
pie(hi,
main = "Gráfica N°10 Distribución porcentual
de los Tipos de contaminantes según su peligrosidad",
radius = 1,
labels = etiqueta_pie,
col = rev(heat.colors(length(hi))),
cex = 0.9,
cex.main = 1)
legend("topright",
legend = TDF_Tipo_Contaminante$Tipo_Contaminante,
fill = colores <- c(rev(heat.colors(10))),
cex = 0.9,
title = "Leyenda")

unique(datos$Pollutant_Type)
## [1] "Lead" "Chromium" "Pesticides" "Mercury" "Cadmium"
## [6] "Arsenic"
#Indicadores
moda <- function(x) {
frec <- table(x)
names(frec)[which.max(frec)]
}
# Moda
moda(datos$Pollutant_Type)
## [1] "Lead"