FECHA: 01/12/2025
#Estadistica Descriptiva
#1/12/2025
#Cargar los Datos
datos<-read.csv("soil_pollution_diseases.csv",header = TRUE,dec = ".",
sep = ",")
#Nivel_Enfermedad
Nivel_Enfermedad<-datos$Disease_Severity
# Tabla de distribución de frecuencia
TDF_Nivel_Enfermedad<-data.frame(table(Nivel_Enfermedad))
ni <- TDF_Nivel_Enfermedad$Freq
hi <- round((ni / sum(ni)) * 100, 2)
Nivel_Enfermedad <- TDF_Nivel_Enfermedad$Nivel_Enfermedad
TDF_Nivel_Enfermedad <- data.frame(Nivel_Enfermedad, ni, hi)
Summary <- data.frame(Nivel_Enfermedad = "TOTAL", ni = sum(ni),hi = 100)
TDF_Enfermedad_suma<-rbind(TDF_Nivel_Enfermedad, Summary)
colnames(TDF_Enfermedad_suma) <- c("Nivel Enfermedad", "ni", "hi(%)")
# Ordenar la tabla en el orden deseado
TDF_Enfermedad_suma$`Nivel Enfermedad` <- factor(
TDF_Enfermedad_suma$`Nivel Enfermedad`,
levels = c("Severe", "Moderate", "Mild", "TOTAL")
)
TDF_Enfermedad_suma <- TDF_Enfermedad_suma[
order(TDF_Enfermedad_suma$`Nivel Enfermedad`),
]
# TABLA
library(gt)
library(dplyr)
TDF_Enfermedad_suma%>%
gt() %>%
tab_header(
title = md("*Tabla Nro. 1*"),
subtitle = md("**Tabla de distribución de frecuencias de los niveles de enfermedad**")
) %>%
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. 1 |
| Tabla de distribución de frecuencias de los niveles de enfermedad |
| Nivel Enfermedad |
ni |
hi(%) |
| Severe |
1023 |
34.10 |
| Moderate |
998 |
33.27 |
| Mild |
979 |
32.63 |
| TOTAL |
3000 |
100.00 |
| Autor: Grupo 3 |
#Graficas
# Diagrama de barrras local ni
barplot(ni, main = "Gráfica N°1: Distribución de frecuencias
de los Niveles de Enfermedad",
xlab = "Niveles de enfermedad",
ylab = "Cantidad",
col = "red",
ylim = c(0,1000),
las = 2,
cex.names = 0.6,
names.arg = TDF_Nivel_Enfermedad$Nivel_Enfermedad)

#Diagrama de barras global ni
barplot(ni, main = "Gráfica N°2: Distribución de frecuencias
de los niveles de enfermedad",
xlab = "Niveles de Enfermedad",
ylab = "Cantidad",
col = "skyblue",
ylim = c(0,3000),
las=2,
cex.names = 0.6,
names.arg = TDF_Nivel_Enfermedad$Nivel_Enfermedad)

#Diagrama de barras local hi(%)
barplot(hi, main = "Gráfica N°3: Distribución de frecuencias porcentual
de los niveles de enfermedad",
xlab = "Niveles de Enfermedad",
ylab = "Porcentaje",
col = "green",
ylim = c(0,40),
las = 2,
cex.names = 0.6,
names.arg = TDF_Nivel_Enfermedad$Nivel_Enfermedad)

#Diagrama de barras global hi(%)
barplot(hi, main = "Gráfica N°4: Distribución de frecuencias porcentual
de los niveles de enfermedad",
xlab = "Niveles de Enfermedad",
ylab = "Porcentaje",
col = "blue",
ylim = c(0,100),
las = 2,
cex.names = 0.6,
names.arg = TDF_Nivel_Enfermedad$Nivel_Enfermedad)

#Diagrama circular
etiqueta_pie <- paste(TDF_Nivel_Enfermedad$hi, "%")
pie(hi,
main = "Gráfica N°5 Distribución porcentual de los niveles de enfermedad",
radius = 1,
labels = etiqueta_pie,
col = rev(heat.colors(length(hi))),
cex = 0.9,
cex.main = 1)
legend("topright",
legend = TDF_Nivel_Enfermedad$Nivel_Enfermedad,
fill = colores <- c(rev(heat.colors(11))),
cex = 0.9,
title = "Leyenda")

#Indicadores
moda <- function(x) {
frec <- table(x)
names(frec)[which.max(frec)]
}
# Moda
moda(datos$Disease_Severity)
## [1] "Severe"
#Mediana
niveles_severidad <- c("Mild", "Moderate", "Severe")
datos$Disease_Severity <- factor(datos$Disease_Severity,
levels = niveles_severidad,
ordered = TRUE)
mediana_ordinal <- function(x) {
x <- x[!is.na(x)]
cod <- as.numeric(x)
m_cod <- median(cod)
levels(x)[round(m_cod)]
}
mediana_ordinal(datos$Disease_Severity)
## [1] "Moderate"