UNIVERSIDAD CENTRAL DEL ECUADOR

ANÁLISIS ESTADÍSTICO SOBRE LA CALIDAD DE AIRE EN LA INDIA

FECHA: 19/05/2025

#UNIVERSIDAD CENTRAL DE ECUADOR 
#VARIABLE CUANTITATIVA DISCRETA AQI

#CARGAR LIBRERIAS 

library(gt)
library(dplyr)
## 
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
#CARGAR DATOS

datos<-read.csv("~/Estadistica/Proyecto 2026/Datos utilizados/city_day (1).csv",header = TRUE, dec = ".",
                sep = ",")
#EXTRAER VARIABLE 

AQI <-datos$AQI

#Preparación de Datos: Convertir a numérico y limpiar NAs
AQI_limpio <- as.numeric(datos$AQI)
## Warning: NAs introducidos por coerción
AQI_limpio <- AQI_limpio[!is.na(AQI_limpio)]


# Definir los cortes (intervalos), ajusta según tus datos
min <- min(AQI_limpio)
max <- max(AQI_limpio)
cortes <- c(0, 50, 100, 150, 200, 300, 500)

intervalos_legibles <- paste(
  format(head(cortes, -1), big.mark = ","),
  format(tail(cortes, -1), big.mark = ","),
  sep = " - "
)

AQI_cut <- cut(
  AQI_limpio,
  breaks = cortes,
  right = TRUE,
  labels = intervalos_legibles
)

TDF_AQI<- data.frame(table(AQI_cut))
ni <- TDF_AQI$Freq
sum(ni)
## [1] 24307
hi <- (ni/sum(ni))
sum(hi)
## [1] 1
Ni_asc <- cumsum(ni)
Hi_asc <- cumsum(hi)
Ni_desc <- rev(cumsum(rev(ni)))
Hi_desc <- rev(cumsum(rev(hi)))
TDF_AQI <- data.frame(
  as.character(levels(AQI_cut)),
  ni,
  "hi(%)" = round(hi * 100, 2),
  "Ni asc" = Ni_asc,
  "Ni desc" = Ni_desc,
  "Hi asc(%)" = round(Hi_asc * 100, 2),
  "Hi desc(%)" = round(Hi_desc * 100, 2)
)
colnames(TDF_AQI) <- c("Intervalos AQI","ni","hi(%)",
                              "Ni asc","Ni desc","Hi asc(%)","Hi desc(%)")
totales <- data.frame( TDF_AQI=" TOTAL ",
                       ni= sum(ni),
                       hi= sum(hi*100),
                       Ni_asc= "-",
                       Ni_des= "-",
                       Hi_asc= "-",
                       Hi_des= "-")
colnames(totales) <- c("Intervalos AQI","ni","hi(%)",
                       "Ni asc","Hi asc(%)","Ni desc","Hi desc(%)")
TDF_AQI<- rbind(TDF_AQI,totales)



#Creación tabla

TDF_AQI %>%
  gt() %>%
  tab_header(
    title = md("*Tabla Nro. 1*"),
    subtitle = md("Distribución de frecuencia del AQI por estado, estudio calidad del aire en India entre 2015-2020")
  ) %>%
  tab_source_note(
    source_note = md("Autor: Grupo 1\n Fuente:https://www.kaggle.com/datasets/rohanrao/air-quality-data-in-india")
  ) %>%
  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
Distribución de frecuencia del AQI por estado, estudio calidad del aire en India entre 2015-2020
Intervalos AQI ni hi(%) Ni asc Ni desc Hi asc(%) Hi desc(%)
0 - 50 1341 5.52 1341 24307 5.52 100
50 - 100 8224 33.83 9565 22966 39.35 94.48
100 - 150 6211 25.55 15776 14742 64.9 60.65
150 - 200 2618 10.77 18394 8531 75.67 35.1
200 - 300 2781 11.44 21175 5913 87.11 24.33
300 - 500 3132 12.89 24307 3132 100 12.89
TOTAL 24307 100.00 - - - -
Autor: Grupo 1 Fuente:https://www.kaggle.com/datasets/rohanrao/air-quality-data-in-india