title: “ESTUDIO ESTADÍSTICO DE LA CALIDAD DEL AIRE EN INDIA” output: html_notebook — # UNIVERSIDAD CENTRAL DEL ECUADOR ### PROYECTO:ESTUDIO ESTADÍSTICO DE LA CALIDAD DEL AIRE EN INDIA ### FECHA: 21/11/2025

# ========================================================
# ESTADÍSTICA Inferencial
# Ariana Viteri
# 04/01/2025
# ========================================================

# Cargar librerías necesarias
library(gt)
library(dplyr)

# 0. Cargar el dataframe
TDFDate <- read.csv("~/ariana tercer semestre/Estadistica/city_day.csv", header = TRUE)

# 1. Preparación de Datos: Convertir a formato fecha R
TDFDate$Date_Convertida <- as.Date(TDFDate$Date, format = "%d/%m/%Y")

# 2. Agrupación por Año
grupos_Anio <- format(TDFDate$Date_Convertida, format = "%Y")
grupos_Anio_limpio <- grupos_Anio[!is.na(grupos_Anio)]

# 3. Cálculo de Frecuencias (ni)
tabla_frecuencia <- as.data.frame(table(grupos_Anio_limpio))

# Orden descendente (2020 → 2015)
tabla_frecuencia <- tabla_frecuencia[
  order(-as.numeric(as.character(tabla_frecuencia$grupos_Anio_limpio))), ]

# 4. Asignación de Variables
Anio <- tabla_frecuencia$grupos_Anio_limpio
ni <- tabla_frecuencia$Freq            

# 5. Cálculos Derivados
hi <- round((ni / sum(ni)) * 100, 2)   # Frecuencia relativa %
P  <- hi                               # 🔹 P IGUAL A hi EN PORCENTAJE

# 6. Crear la Tabla de Distribución de Frecuencias
TDFAnioFin <- data.frame(Anio, ni, hi, P)

# 7. Fila TOTAL
Summary <- data.frame(
  Anio = "TOTAL",
  ni = sum(ni),
  hi = 100,
  P = 100
)

TDFAnioCompleto <- rbind(TDFAnioFin, Summary)

# 8. Nombres de columnas
colnames(TDFAnioCompleto) <- c("Anio", "ni", "hi (%)", "P (%)")

# 9. Formatos correctos
TDFAnioCompleto$Anio <- as.character(TDFAnioCompleto$Anio)

# ========================================================
# TABLA GT
# ========================================================

TDFAnioCompleto %>%
  gt() %>%
  tab_header(
    title = md("Tabla Nro. 1"),
    subtitle = md("Tabla de frecuencias de Año en el estudio de calidad del aire en India (2015–2020)")
  ) %>%
  tab_source_note(
    source_note = md("Fuente: Datos procesados por el autor a partir del archivo city_day.csv")
  ) %>%
  tab_style(
    style = cell_borders(sides = "left", color = "black", weight = px(2)),
    locations = cells_body()
  ) %>%
  tab_style(
    style = cell_borders(sides = "right", color = "black", weight = px(2)),
    locations = cells_body()
  ) %>%
  tab_style(
    style = cell_borders(sides = "left", color = "black", weight = px(2)),
    locations = cells_column_labels()
  ) %>%
  tab_style(
    style = cell_borders(sides = "right", color = "black", weight = px(2)),
    locations = cells_column_labels()
  ) %>%
  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 frecuencias de Año en el estudio de calidad del aire en India (2015–2020)
Anio ni hi (%) P (%)
2020 4646 15.73 15.73
2019 7446 25.21 25.21
2018 6471 21.91 21.91
2017 4689 15.88 15.88
2016 3478 11.78 11.78
2015 2801 9.48 9.48
TOTAL 29531 100.00 100.00
Fuente: Datos procesados por el autor a partir del archivo city_day.csv
# DIAGRAMA DE BARRAS local
barplot(TDFAnioFin$ni, 
        main = "Gráfico Nº1: Frecuencia de la muestra distribuida por año en la India 2015-2020",
        xlab = "Año de la Muestra", 
        ylab = "Frecuencia Cantidad ",
        cex.main = 0.8,
        names.arg = TDFAnioFin$Anio,
        las = 1,
        col = "#C8E6C9")

#Histograma de Barras de porcentaje local
library(RColorBrewer)

# Número de barras
n <- length(TDFAnioFin$Anio)

# Paleta de colores verde pastel
colores <- colorRampPalette(brewer.pal(9, "Greens"))(n)  # degradado de verdes pastel

# Porcentaje local (frecuencia relativa)
hi_local <- TDFAnioFin$hi

# Calcular límite Y automático (máximo porcentaje local + 10% para margen)
ylim_local <- c(0, max(hi_local) * 1.1)


# Gráfico de barras de porcentaje local
barplot(
  height = hi_local,               # frecuencia relativa local
  names.arg = TDFAnioFin$Anio,
  main = "Gráfica Nro 3: Distribución porcentual de la muestra por año en India (2015-2020)",
  xlab = "",
  ylab = "Porcentaje (%)",
  col = colores,                   # aplica el verde pastel
  ylim = ylim_local,               # eje Y adaptado al máximo porcentaje local
  las = 1,                          # nombres de eje X horizontales
  cex.names = 0.8,                  # tamaño de nombres
  cex.main = 0.9,                   # tamaño del título
  mgp = c(3, 1, 0)                # posición de títulos y labels
)
# Etiqueta adicional para eje X, más separada
mtext("Año de la Muestra", side = 1, line = 3, cex = 1)

# GDF probabilidad por Año
TablaPlot <- TDFAnioCompleto[TDFAnioCompleto$Anio != "TOTAL", ]

barplot(TablaPlot$`P (%)`,
        main="Gráfica No. 3:
Distribución de probabilidad del Año
en el estudio de calidad del aire en India,
entre 2015–2020",
        xlab= "Año",
        ylab="Probabilidad (%)",
        names.arg= TablaPlot$Anio,
        col = "#2FB9B3",
        cex.names = 0.7,
        cex.main = 0.9,
        cex.axis = 0.8,
        ylim=c(0,100))

# Probabilidad correspondiente al año 2019
x <- round(
  (TDFAnioCompleto$ni[TDFAnioCompleto$Anio == "2019"] /
     sum(TDFAnioCompleto$ni[TDFAnioCompleto$Anio != "TOTAL"])) * 100,1)

print(paste("La probabilidad es de:", x, "%"))
## [1] "La probabilidad es de: 25.2 %"