Universidad Central DEL Ecuador FIGEMPA-Ingeniería Ambiental

#ESTADISTICA DESCRIPTIVA
#Lorien Arcentales
#20/11/2025
#Carga de paquetes
library(gt)
library(dplyr)
#Carga de datos 
datos<-read.csv("city_day.csv", header = TRUE, dec = ".",
                sep = ",")
#Creación de tablas 
ciudad<-datos$City
 #TDF variable ciudad
TDF_ciudad<-data.frame(table(ciudad))
ni <- TDF_ciudad$Freq
hi <- round((ni / sum(ni)) * 100, 2)
ciudad <- TDF_ciudad$ciudad
TDF_ciudad <- data.frame(ciudad, ni, hi)
Summary <- data.frame(ciudad = "TOTAL", ni = sum(ni),hi = 100)
TDF_ciudad <- rbind(TDF_ciudad,Summary)
colnames(TDF_ciudad) <- c("Ciudades", "ni", "hi(%)")
# TABLA CREACIÓN
library(gt)
library(dplyr)


TDF_ciudad %>%
  gt() %>%
  tab_header(
    title = md("*Tabla Nro. 1*"),
    subtitle = md("**Distribucion de frecuencia de ciudades,estudio calidad del aire en India entre 2015-2020 **")
  ) %>%
  tab_source_note(
    source_note = md("Autor: Grupo 2\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
**Distribucion de frecuencia de ciudades,estudio calidad del aire en India entre 2015-2020 **
Ciudades ni hi(%)
Ahmedabad 2009 6.80
Aizawl 113 0.38
Amaravati 951 3.22
Amritsar 1221 4.13
Bengaluru 2009 6.80
Bhopal 289 0.98
Brajrajnagar 938 3.18
Chandigarh 304 1.03
Chennai 2009 6.80
Coimbatore 386 1.31
Delhi 2009 6.80
Ernakulam 162 0.55
Gurugram 1679 5.69
Guwahati 502 1.70
Hyderabad 2006 6.79
Jaipur 1114 3.77
Jorapokhar 1169 3.96
Kochi 162 0.55
Kolkata 814 2.76
Lucknow 2009 6.80
Mumbai 2009 6.80
Patna 1858 6.29
Shillong 310 1.05
Talcher 925 3.13
Thiruvananthapuram 1112 3.77
Visakhapatnam 1462 4.95
TOTAL 29531 100.00
Autor: Grupo 2 Fuente:https://www.kaggle.com/datasets/rohanrao/air-quality-data-in-india
#Creación de agrupacion de la variable ciudad por tamaño según el número de habitantes, por razón de visualización, analisis y exposición del proyecto

datos$Tamaño<-""
summary(datos$Número.de.habitantes)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
##     8000  1100000  3900000  8512278 12300000 33800000
for (i in 1:length(datos$Número.de.habitantes)) {
  
  if (datos$Número.de.habitantes[i] > 5000000) {
    datos$Tamaño[i] <- "GRANDE"
    
  } else if (datos$Número.de.habitantes[i] < 500000) {
    datos$Tamaño[i] <- "PEQUEÑA"
    
  } else {
    datos$Tamaño[i] <- "MEDIANA"
  }
}
tamañ0<-datos$Tamaño
Grupo <- table(datos$Tamaño)
hi_grupo <- prop.table(Grupo) * 100
TablaAgrupada <- data.frame(
  Tamaño = names(Grupo),
  ni = as.numeric(Grupo),
  hi = round(as.numeric(hi_grupo), 2)
)
TotalFila <- data.frame(
  Tamaño = "TOTAL",
  ni = sum(TablaAgrupada$ni),
  hi = 100
)
TablaAgrupada <- rbind(TablaAgrupada, TotalFila)
colnames(TablaAgrupada) <- c("Tamaño ciudad", "ni", "hi(%)")
#TABLA 2


TablaAgrupada %>%
  gt() %>%
  tab_header(
    title = md("*Tabla Nro. 2*"),
    subtitle = md("**Distribucion de frecuencia del Tamaño de las ciudades según el número de habitantes,estudio calidad del aire en India entre 2015-2020 **")
  ) %>%
  tab_source_note(
    source_note = md("Autor: Grupo 2\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. 2
**Distribucion de frecuencia del Tamaño de las ciudades según el número de habitantes,estudio calidad del aire en India entre 2015-2020 **
Tamaño ciudad ni hi(%)
GRANDE 12865 43.56
MEDIANA 13521 45.79
PEQUEÑA 3145 10.65
TOTAL 29531 100.00
Autor: Grupo 2 Fuente:https://www.kaggle.com/datasets/rohanrao/air-quality-data-in-india
# Gráfica de distribución de frecuencia 
#Diagrama de barras local
# Excluir la fila TOTAL
TablaPlot <- TablaAgrupada[TablaAgrupada$`Tamaño ciudad` != "TOTAL", ]
barplot(
  TablaPlot$ni,
  names.arg = TablaPlot$`Tamaño ciudad`,
  main = "Grafica Nro 1: Distribución del Tamaño de las ciudades según su número de habitantes,
  estudio calidad del aire en India, entre 2015-2020 ",
  xlab = "Tamaño ciudades",
  ylab = "Cantidad",
  col = c("lightgreen"),
  ylim = c(0,13000),
  las = 2,
  cex.axis = 0.7,
  cex.names = 0.5,
  cex.main = 0.7
)

# Diagrama de barras global
barplot(TablaPlot$ni, main = "Gráfica N°3: Distribución del Tamaño de las ciudades
según su número de habitantes, estudio calidad del aire en India, entre 2015-2020 
        ",
        xlab = "Tamaño Ciudades",
        ylab = "Cantidad",
        col = "lightgreen",
        ylim = c(0,30000),
        las=2,
        cex.names = 0.5,
        cex.main = 0.9,
        cex.axis = 0.8,
        names.arg = TablaPlot$`Tamaño ciudad`)

#Grafica porcentaje
barplot(TablaPlot$`hi(%)`, main = "Gráfica N°2: Distribución porcentual del Tamaño de las ciudades 
según su número de habitantes, estudio calidad del aire en India, entre 2015-2020 ",
        xlab = "Tamaño Ciudades",
        ylab = "Porcentaje",
        col = "green",
        ylim = c(0,50),
        las = 2,
        cex.names = 0.5,
        cex.main = 0.9,
        cex.axis = 0.9,
        names.arg = TablaPlot$`Tamaño ciudad`)

#Siguientes graficas
barplot(TablaPlot$`hi(%)`,
        main="Gráfica No. 4:
        Distribución de Porcentaje del Tamaño de las ciudades
según su número de habitantes, estudio calidad del aire en India, entre 2015-2020 ",
        xlab= "Tamaño Ciudades",
        ylab="Porcentaje (%)",
        names.arg= TablaPlot$`Tamaño ciudad`,
        col = "green",
        cex.names = 0.7,
        cex.main = 0.9,
        cex.axis = 0.8,
        ylim=c(0,100))

#Diagrama Circular 
library(RColorBrewer)
n <- length(TablaPlot)
colores <- brewer.pal(min(n, 12), "Set3") 
color <- adjustcolor(colores, alpha.f = 0.9)
etiqueta<-paste(TablaPlot$`hi(%)`,"%")

pie(TablaPlot$`hi(%)`,
    labels = etiqueta,
    cex.main = 0.9,
    radius = 1,
    col=color,
    main="Gráfica No.5: 
    Distribución del Tamaño de las ciudades 
según su número de habitantes, estudio calidad del aire en India, entre 2015-2020 ")

legend("bottomright",legend=names(Grupo), 
       title = "Leyenda",
       cex = 0.7,
       fill=color)

# Indicadores estadísticos
Variable <- "Tamaño Ciudades"
Rango <- "-"

# Mediana
Me <- median(tamañ0)
Me
## [1] "MEDIANA"
# Media
X <- "-"
# Moda
Mo <- "[MEDIANA]"

#Indicadores de Dispersión

# Varianza
var<-"-"
# Desviación estandar
desv<-"-"

# Coeficiente de variación 
CV <- "-"

#Indicadores de Forma

# Coeficiente de Asimetría
As <-"-"
# Curtosis
K <- "-"
Tabla_indicadores <- data.frame(Variable,Rango,X,Me,Mo,var,desv,CV,As,K)
colnames(Tabla_indicadores) <- c("Variable","Rango","X", "Me", "Mo","Var",
                                 "sd","CV","As","K")

library(gt)
library(dplyr)
Tabla_indicadores %>%
  gt() %>%
  tab_header(
    title = md("*Tabla Nro. 3*"),
    subtitle = md("**Indicadores Estadísticos del Tamaño de las ciudades según su número de habitantes,estudio calidad del aire en India entre 2015-2020 **")
  ) %>%
  tab_source_note(
    source_note = md("Autor: Grupo 2\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. 3
**Indicadores Estadísticos del Tamaño de las ciudades según su número de habitantes,estudio calidad del aire en India entre 2015-2020 **
Variable Rango X Me Mo Var sd CV As K
Tamaño Ciudades - - MEDIANA [MEDIANA] - - - - -
Autor: Grupo 2 Fuente:https://www.kaggle.com/datasets/rohanrao/air-quality-data-in-india