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)