Lorien Arcentales

24/11/2025

#UNIVERSIDAD CENTRAL DEL ECUADOR #FIGEMPA#Ingeniería Ambiental

#Estadistica Descriptiva

#Lorien Arcentales

#20/11/2025

library(gt)
library(dplyr)

#Cargar Datos

datos<-read.csv("city_day.csv",header = TRUE,dec = ".",
                sep = ",")

#Tablas Cualitativas 

#CIUDAD

ciudad <- datos$City


#Tabla de Distribucion de Frecuencia

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


# TABLAS
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
# Gráfica de distribución de frecuencia 
#Diagrama de barras local
par(mar = c(12,4,4,2))
barplot(ni, main = "Gráfica N°1: Distribución de frecuencias de los países
        de estudio de contaminación y enfermedades",
        xlab = "Ciudad",
        ylab = "Cantidad",
        col = "skyblue",
        ylim = c(0,2000),
        las = 2,
        cex.names = 0.2,
        names.arg = TDF_ciudad$ciudad)

#Grafica porcentaje
barplot(hi, main = "Gráfica N°2: Distribución porcentual de las
        ciudades de estudio calidad de aire en India",
        xlab = "Ciudades",
        ylab = "Porcentaje",
        col = "green",
        ylim = c(0,10),
        las = 2,
        cex.names = 0.6,
        names.arg = TDF_ciudad$ciudad)

# Diagrama de barras global
barplot(ni, main = "Gráfica N°3: Distribución de frecuencias de las ciudades
        de estudio calidad del aire en India",
        xlab = "Ciudades",
        ylab = "Cantidad",
        col = "pink",
        ylim = c(0,2000),
        las=2,
        cex.names = 0.6,
        names.arg = TDF_ciudad$ciudad)

#creacion de agrupacion
tabla_zona <- unique(datos[, c("City", "Zona")])
colnames(tabla_zona) <- c("Ciudades", "Zona")
TDF_sin_total <- TDF_ciudad[TDF_ciudad$Ciudades != "TOTAL", ]
TDF_final <- merge(TDF_sin_total, tabla_zona, by = "Ciudades", all.x = TRUE)
# Crear total
fila_total <- data.frame(
  Ciudades = "TOTAL",
  ni = sum(TDF_final$ni),
  `hi(%)` = 100,
  Zona = NA,
  stringsAsFactors = FALSE
)

Grupo<-table(TDF_final$Zona)
hi_grupo<-Grupo/sum(Grupo)
hi_grupo<-hi_grupo*100
TablaAgrupada<-aggregate(cbind(ni, `hi(%)`) ~ Zona, data = TDF_final, sum)
#TablaAgrupada
hi_red <- round(TablaAgrupada$`hi(%)`,2)
#Siguientes graficas
barplot(hi_red,
        main="Gráfica No. 4:
        Distribución de Porcentaje de Ciudades
        en el Estudio de Calidad del aire en India",
        xlab= "Ciudades",
        ylab="Porcentaje (%)",
        names.arg= TablaAgrupada$Zona,
        col = "purple3",
        ylim=c(0,100))

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

pie(hi_red,
    labels = etiqueta,
    radius = 1,
    col=color,
    main="Gráfica No.5: 
    Porcentaje de Ciudades
    en el Estudio de Calidad del aire en la India")

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