title: “Tabla de Frecuencia” author: “Tu nombre” date: “2026” output: html_document —
# =========================
# CARGAR LIBRERÍAS
# =========================
library(gt)
# =========================
# CARGAR DATOS
# =========================
datos <- read.csv(
"waterPollution.csv",
sep = ",",
stringsAsFactors = FALSE
)
# =========================
# Variable Cuantitativa Continua
# =========================
composition_plastic_percent <- as.numeric(
datos$composition_plastic_percent
)
composition_plastic_percent <- na.omit(
composition_plastic_percent
)
# =========================
# Número de intervalos
# =========================
k <- floor(
1 + 3.3 * log10(length(composition_plastic_percent))
)
# =========================
# Valores básicos
# =========================
min_val <- min(composition_plastic_percent)
max_val <- max(composition_plastic_percent)
R <- max_val - min_val
A <- R / k
# =========================
# Límites de clase
# =========================
Li <- round(
seq(
from = min_val,
to = max_val - A,
by = A
),
2
)
Ls <- round(
seq(
from = min_val + A,
to = max_val,
by = A
),
2
)
MC <- round((Li + Ls) / 2, 2)
# =========================
# Frecuencia absoluta
# =========================
ni <- numeric(length(Li))
for(i in 1:length(Li)){
if(i < length(Li)){
ni[i] <- sum(
composition_plastic_percent >= Li[i] &
composition_plastic_percent < Ls[i]
)
} else {
ni[i] <- sum(
composition_plastic_percent >= Li[i] &
composition_plastic_percent <= max_val
)
}
}
# =========================
# Frecuencia relativa
# =========================
hi <- round((ni / sum(ni)) * 100, 2)
# =========================
# Frecuencias acumuladas
# =========================
Niasc <- cumsum(ni)
Nidsc <- rev(cumsum(rev(ni)))
Hiasc <- round(cumsum(hi), 2)
Hidsc <- round(rev(cumsum(rev(hi))), 2)
# =========================
# Crear tabla
# =========================
TDF_Plastic <- data.frame(
Li,
Ls,
MC,
ni,
hi,
Niasc,
Nidsc,
Hiasc,
Hidsc
)
# =========================
# Agregar TOTAL
# =========================
totales <- TDF_Plastic[1, ]
totales[1, ] <- c(
"TOTAL",
"",
"",
sum(ni),
100,
"",
"",
"",
""
)
TDF_Plastic <- rbind(TDF_Plastic, totales)
# =========================
# Nombres columnas
# =========================
colnames(TDF_Plastic) <- c(
"Li",
"Ls",
"MC",
"ni",
"hi(%)",
"Ni_asc",
"Ni_desc",
"Hi_asc(%)",
"Hi_desc(%)"
)
# =========================
# Tabla final
# =========================
TDF_Plastic %>%
gt() %>%
tab_header(
title = md("*Tabla N°1*"),
subtitle = md(
"**Distribución de frecuencias de la Composición de Plástico (%)**"
)
) %>%
tab_source_note(
source_note = md("Autor: Grupo 3")
) %>%
tab_style(
style = cell_text(weight = "bold"),
locations = cells_body(
rows = Li == "TOTAL"
)
)
| Tabla N°1 | ||||||||
| Distribución de frecuencias de la Composición de Plástico (%) | ||||||||
| Li | Ls | MC | ni | hi(%) | Ni_asc | Ni_desc | Hi_asc(%) | Hi_desc(%) |
|---|---|---|---|---|---|---|---|---|
| 1.45 | 2.88 | 2.16 | 943 | 4.74 | 943 | 19893 | 4.74 | 99.99 |
| 2.88 | 4.31 | 3.59 | 0 | 0 | 943 | 18950 | 4.74 | 95.25 |
| 4.31 | 5.74 | 5.03 | 0 | 0 | 943 | 18950 | 4.74 | 95.25 |
| 5.74 | 7.17 | 6.46 | 174 | 0.87 | 1117 | 18950 | 5.61 | 95.25 |
| 7.17 | 8.6 | 7.88 | 82 | 0.41 | 1199 | 18776 | 6.02 | 94.38 |
| 8.6 | 10.03 | 9.31 | 12802 | 64.35 | 14001 | 18694 | 70.37 | 93.97 |
| 10.03 | 11.46 | 10.75 | 354 | 1.78 | 14355 | 5892 | 72.15 | 29.62 |
| 11.46 | 12.89 | 12.18 | 719 | 3.61 | 15074 | 5538 | 75.76 | 27.84 |
| 12.89 | 14.32 | 13.61 | 806 | 4.05 | 15880 | 4819 | 79.81 | 24.23 |
| 14.32 | 15.75 | 15.04 | 22 | 0.11 | 15902 | 4013 | 79.92 | 20.18 |
| 15.75 | 17.18 | 16.46 | 0 | 0 | 15902 | 3991 | 79.92 | 20.07 |
| 17.18 | 18.61 | 17.9 | 15 | 0.08 | 15917 | 3991 | 80 | 20.07 |
| 18.61 | 20.04 | 19.32 | 0 | 0 | 15917 | 3976 | 80 | 19.99 |
| 20.04 | 21.47 | 20.75 | 3957 | 19.89 | 19874 | 3976 | 99.89 | 19.99 |
| 21.47 | 22.9 | 22.18 | 19 | 0.1 | 19893 | 19 | 99.99 | 0.1 |
| TOTAL | 19893 | 100 | ||||||
| Autor: Grupo 3 | ||||||||