#1.Carga de librerias
library(knitr)
library(kableExtra)
library(gt)
## Warning: package 'gt' was built under R version 4.5.3
# 2. Leer datos
setwd("~/Camila/Estadística")
datos <- read.csv("Datos cambiados..csv",
header = TRUE,
sep = ",", dec = "." )
# 3. Selección de la variable
# Limpiar variable
datos$AQI[datos$AQI == "-"] <- NA
datos$AQI <- as.numeric(datos$AQI)
# Eliminar NA
AQI <- na.omit(datos$AQI)
# 4. Tabla de distribución de frecuencia
# Crear intervalos
intervalos <- cut(
AQI,
breaks = seq(0, 500, by = 50),
include.lowest = TRUE
)
# Tabla de frecuencias
TDF <- table(intervalos)
Tabla <- as.data.frame(TDF)
# Frecuencia absoluta
ni <- Tabla$Freq
# Frecuencia relativa
hi <- (ni / sum(ni)) * 100
# Frecuencias acumuladas ascendentes
Niasc <- cumsum(ni)
Hiasc <- cumsum(hi)
# Frecuencias acumuladas descendentes
Nidsc <- rev(cumsum(rev(ni)))
Hidsc <- rev(cumsum(rev(hi)))
# Tabla final
Tabla_final <- data.frame(
`Intervalos AQI` = Tabla$intervalos,
ni = ni,
`hi_(%)` = round(hi, 2),
Ni_asc = Niasc,
`Hi_asc_(%)` = round(Hiasc, 2),
Ni_dsc = Nidsc,
`Hi_dsc_(%)` = round(Hidsc, 2)
)
# Fila total
totales <- data.frame(
`Intervalos AQI` = "Total",
ni = sum(ni),
`hi_(%)` = 100,
Ni_asc = "-",
`Hi_asc_(%)` = "-",
Ni_dsc = "-",
`Hi_dsc_(%)` = "-"
)
# Unir tabla + totales
TDF_total <- rbind(Tabla_final, totales)
# Tabla formato gt
tabla_gt <- TDF_total %>%
gt() %>%
tab_header(
title = md("*Tabla N°1*"),
subtitle = md("**Tabla de distribución de frecuencias del AQI en India**")
) %>%
tab_source_note(
source_note = md("Autor: Grupo 1")
) %>%
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"
) %>%
tab_style(
style = cell_text(weight = "bold"),
locations = cells_body(
rows = nrow(TDF_total)
)
)
# Mostrar tabla
tabla_gt
| Tabla N°1 |
| Tabla de distribución de frecuencias del AQI en India |
| Intervalos.AQI |
ni |
hi_... |
Ni_asc |
Hi_asc_... |
Ni_dsc |
Hi_dsc_... |
| [0,50] |
1341 |
5.52 |
1341 |
5.52 |
24307 |
100 |
| (50,100] |
8224 |
33.83 |
9565 |
39.35 |
22966 |
94.48 |
| (100,150] |
6211 |
25.55 |
15776 |
64.9 |
14742 |
60.65 |
| (150,200] |
2618 |
10.77 |
18394 |
75.67 |
8531 |
35.1 |
| (200,250] |
1619 |
6.66 |
20013 |
82.33 |
5913 |
24.33 |
| (250,300] |
1162 |
4.78 |
21175 |
87.11 |
4294 |
17.67 |
| (300,350] |
1439 |
5.92 |
22614 |
93.03 |
3132 |
12.89 |
| (350,400] |
898 |
3.69 |
23512 |
96.73 |
1693 |
6.97 |
| (400,450] |
504 |
2.07 |
24016 |
98.8 |
795 |
3.27 |
| (450,500] |
291 |
1.20 |
24307 |
100 |
291 |
1.2 |
| Total |
24307 |
100.00 |
- |
- |
- |
- |
| Autor: Grupo 1 |