FECHA: 22/11/2025
# Extraemos los datos
df <- read.csv("soil_pollution_diseases.csv", sep = ";", stringsAsFactors = FALSE)
# 1. Cargar dataset CSV
df <- read.csv("soil_pollution_diseases.csv", sep = ";", stringsAsFactors = FALSE)
# 2. Convertir la columna a fecha (formato día/mes/año)
df$Date_Reported <- as.Date(df$Date_Reported, format = "%d/%m/%Y")
# 3. Crear columnas separadas de día, mes y año
df$Day <- as.integer(format(df$Date_Reported, "%d"))
df$Month <- as.integer(format(df$Date_Reported, "%m"))
df$Year <- as.integer(format(df$Date_Reported, "%Y"))
# Extraemos la variable Discreta
Año<-df$Year
Año<-na.omit(df$Year)
# Tabla de Distribución de Frecuencias
TDF.Año<-table(Año)
# Elementos para la tabla de distribución de Frecuencia
Tabla_Año<-as.data.frame(TDF.Año)
hi<-(Tabla_Año$Freq/sum(Tabla_Año$Freq))*100
ni<-Tabla_Año$Freq
Tabla_Año<-data.frame(Tabla_Año,hi)
Niasc<-cumsum(ni)
Hiasc<-cumsum(hi)
Nidsc<-rev(cumsum(rev(ni)))
Hidsc<-rev(cumsum(rev(hi)))
Tabla_año_final<-data.frame(Tabla_Año$Año,
Tabla_Año$Freq,
Tabla_Año$hi,
Niasc,
round(Hiasc,2),
Nidsc,
round(Hidsc,2))
colnames(Tabla_año_final)<-c("Año","ni","hi (%)",
"Ni_asc","Hi_asc(%)",
"Ni_dsc","Hi_dsc(%)")
# Totales
Tabla_año_final$Año <- as.character(Tabla_año_final$Año)
totales <- c(Año="Total",ni= sum(ni),
hi= sum(hi),
Niasc="-",
Nidsc="-",
Hiasc= "-",
Hidsc="-")
TDF_años_total<-rbind(Tabla_año_final,totales)
TDF_años_total
#Formato tabla
library(gt)
tabla_años_gt <- TDF_años_total %>%
gt() %>%
tab_header(
title = md("*Tabla N° 13*"),
subtitle = md("**Tabla de distribución de frecuencias simples y acumuladas de los años del estudio**")
) %>%
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"
) %>%
# poner en negrita la fila "Total"
tab_style(
style = cell_text(weight = "bold"),
locations = cells_body(
rows = Año == "Total"
)
)
tabla_años_gt
| Tabla N° 13 |
| Tabla de distribución de frecuencias simples y acumuladas de los años del estudio |
| Año |
ni |
hi (%) |
Ni_asc |
Hi_asc(%) |
Ni_dsc |
Hi_dsc(%) |
| 2023 |
1116 |
37.2 |
1116 |
37.2 |
3000 |
100 |
| 2024 |
1497 |
49.9 |
2613 |
87.1 |
1884 |
62.8 |
| 2025 |
387 |
12.9 |
3000 |
100 |
387 |
12.9 |
| Total |
3000 |
100 |
- |
- |
- |
- |
| Autor: Grupo 3 |
# Extraemos la variable Discreta
Mes <- df$Month
Mes <- na.omit(Mes)
#numérico
Mes <- as.numeric(Mes)
#Crear intervalos trimestrales
breaks <- c(1, 4, 7, 10, 13)
labels <- c("1-3", "4-6", "7-9", "10-12")
# Clasificar los meses en intervalos
Mes <- cut(Mes, breaks = breaks, include.lowest = TRUE, labels = labels)
# Tabla de Distribución de Frecuencias
TDF.Mes<-table(Mes)
# Elementos para la tabla de distribución de Frecuencia
Tabla_Mes<-as.data.frame(TDF.Mes)
hi <- round((Tabla_Mes$Freq / sum(Tabla_Mes$Freq)) * 100, 2)
ni<-Tabla_Mes$Freq
Tabla_Mes<-data.frame(Tabla_Mes,hi)
Niasc<-cumsum(ni)
Hiasc<-cumsum(hi)
Nidsc<-rev(cumsum(rev(ni)))
Hidsc<-rev(cumsum(rev(hi)))
Tabla_mes_final<-data.frame(Tabla_Mes$Mes,
Tabla_Mes$Freq,
Tabla_Mes$hi,
Niasc,
round(Hiasc,2),
Nidsc,
round(Hidsc,2))
colnames(Tabla_mes_final)<-c("Mes","ni","hi (%)",
"Ni_asc","Hi_asc(%)",
"Ni_dsc","Hi_dsc(%)")
# Totales
Tabla_mes_final$Mes <- as.character(Tabla_mes_final$Mes)
totales <- c(Mes="Total",ni= sum(ni),
hi= sum(hi),
Niasc="-",
Nidsc="-",
Hiasc= "-",
Hidsc="-")
TDF_meses_total<-rbind(Tabla_mes_final,totales)
TDF_meses_total
library(DT)
datatable(TDF_meses_total)
#Formato tabla
library(gt)
tabla_meses_gt <- TDF_meses_total %>%
gt() %>%
tab_header(
title = md("*Tabla N° 14*"),
subtitle = md("**Tabla de distribución de frecuencias simples y acumuladas de los meses del estudio**")
) %>%
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"
) %>%
# poner en negrita la fila "Total"
tab_style(
style = cell_text(weight = "bold"),
locations = cells_body(
rows = Mes == "Total"
)
)
tabla_meses_gt
| Tabla N° 14 |
| Tabla de distribución de frecuencias simples y acumuladas de los meses del estudio |
| Mes |
ni |
hi (%) |
Ni_asc |
Hi_asc(%) |
Ni_dsc |
Hi_dsc(%) |
| 1-3 |
996 |
33.2 |
996 |
33.2 |
3000 |
100 |
| 4-6 |
771 |
25.7 |
1767 |
58.9 |
2004 |
66.8 |
| 7-9 |
714 |
23.8 |
2481 |
82.7 |
1233 |
41.1 |
| 10-12 |
519 |
17.3 |
3000 |
100 |
519 |
17.3 |
| Total |
3000 |
100 |
- |
- |
- |
- |
| Autor: Grupo 3 |
# Extraemos la variable Discreta
Dia <- df$Day
Dia <- na.omit(Dia)
#numérico
Dia <- as.numeric(Dia)
# Crear intervalos
max_day <- max(Dia)
breaks <- c(seq(1, max_day - 4, by = 5), max_day + 1)
labels <- paste(
head(breaks, -1),
tail(breaks, -1) - 1,
sep = "-"
)
# Clasificar los días en intervalos
Dia <- cut(Dia, breaks = breaks, include.lowest = TRUE, labels = labels)
# Tabla de Distribución de Frecuencias
TDF.Dia <- table(Dia)
# Elementos para la tabla de distribución de Frecuencia
Tabla_Dia <- as.data.frame(TDF.Dia)
hi <- round((Tabla_Dia$Freq / sum(Tabla_Dia$Freq)) * 100, 2)
ni <- Tabla_Dia$Freq
Tabla_Dia <- data.frame(Tabla_Dia, hi)
Niasc <- cumsum(ni)
Hiasc <- cumsum(hi)
Nidsc <- rev(cumsum(rev(ni)))
Hidsc <- rev(cumsum(rev(hi)))
Tabla_dia_final <- data.frame(
Tabla_Dia$Dia,
Tabla_Dia$Freq,
Tabla_Dia$hi,
Niasc,
round(Hiasc, 2),
Nidsc,
round(Hidsc, 2)
)
colnames(Tabla_dia_final) <- c(
"Dia", "ni", "hi (%)",
"Ni_asc", "Hi_asc(%)",
"Ni_dsc", "Hi_dsc(%)"
)
# Totales
Tabla_dia_final$Dia <- as.character(Tabla_dia_final$Dia)
totales <- c(
Dia = "Total", ni = sum(ni),
hi = sum(hi),
Niasc = "-", Nidsc = "-",
Hiasc = "-", Hidsc = "-"
)
TDF_dias_total <- rbind(Tabla_dia_final, totales)
TDF_dias_total
library(DT)
datatable(TDF_dias_total)
#Formato tabla
library(gt)
tabla_dias_gt <- TDF_dias_total %>%
gt() %>%
tab_header(
title = md("*Tabla N° 15*"),
subtitle = md("**Tabla de distribución de frecuencias simples y acumuladas de los días del estudio**")
) %>%
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"
) %>%
# poner en negrita la fila "Total"
tab_style(
style = cell_text(weight = "bold"),
locations = cells_body(
rows = Dia == "Total"
)
)
tabla_dias_gt
| Tabla N° 15 |
| Tabla de distribución de frecuencias simples y acumuladas de los días del estudio |
| Dia |
ni |
hi (%) |
Ni_asc |
Hi_asc(%) |
Ni_dsc |
Hi_dsc(%) |
| 1-5 |
594 |
19.8 |
594 |
19.8 |
3000 |
100 |
| 6-10 |
469 |
15.63 |
1063 |
35.43 |
2406 |
80.2 |
| 11-15 |
505 |
16.83 |
1568 |
52.26 |
1937 |
64.57 |
| 16-20 |
477 |
15.9 |
2045 |
68.16 |
1432 |
47.74 |
| 21-25 |
515 |
17.17 |
2560 |
85.33 |
955 |
31.84 |
| 26-31 |
440 |
14.67 |
3000 |
100 |
440 |
14.67 |
| Total |
3000 |
100 |
- |
- |
- |
- |
| Autor: Grupo 3 |