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 %"