#------------------ UNIVERSIDAD CENTRAL DEL ECUADOR
##-----Facultad de Ingeniería en Geología, Minas, Petróleos y Ambiental
###-----------------Carrera de Ingeniería Ambiental
# Proyecto: Estudio de Residuos y Reciclaje en la India
# Etapa: Estadistica Descriptiva
# Integrantes: Jazmin Guañuna, Nayely Perugachi, Helen Taipe, Gabriela Usiña
# Fecha: 26/5/2025
# VARIABLE CUALITATIVA NOMINAL: NOMBRE DE VERTEDERO
# Cargar datos
library(readr)
datos <- read.csv("Waste_Management_and_Recycling_India.csv", header = TRUE)
# Limpiar nombres
nombre_vertedero_completo <- trimws(datos$Landfill.Name)
str(datos)
## 'data.frame': 850 obs. of 13 variables:
## $ City.District : chr "Mumbai" "Mumbai" "Mumbai" "Mumbai" ...
## $ Waste.Type : chr "Plastic" "Organic" "E-Waste" "Construction" ...
## $ Waste.Generated..Tons.Day. : int 6610 1181 8162 8929 5032 7456 7118 9189 8609 6632 ...
## $ Recycling.Rate.... : int 68 56 53 56 44 73 37 57 48 71 ...
## $ Population.Density..People.km.. : int 11191 11191 11191 11191 11191 11191 11191 11191 11191 11191 ...
## $ Municipal.Efficiency.Score..1.10.: int 9 5 8 5 7 9 6 10 8 6 ...
## $ Disposal.Method : chr "Composting" "Composting" "Incineration" "Landfill" ...
## $ Cost.of.Waste.Management....Ton. : int 3056 2778 3390 1498 2221 3195 3686 1791 1681 2311 ...
## $ Awareness.Campaigns.Count : int 14 12 13 14 16 6 14 12 20 12 ...
## $ Landfill.Name : chr "Mumbai Landfill" "Mumbai Landfill" "Mumbai Landfill" "Mumbai Landfill" ...
## $ Landfill.Location..Lat..Long. : chr "22.4265, 77.4931" "22.4265, 77.4931" "22.4265, 77.4931" "22.4265, 77.4931" ...
## $ Landfill.Capacity..Tons. : int 45575 45575 45575 45575 45575 45575 45575 45575 45575 45575 ...
## $ Year : int 2019 2019 2019 2019 2019 2020 2020 2020 2020 2020 ...
# Tabla de frecuencias
TDFnombre_vertedero <- table(nombre_vertedero_completo)
Tablanombre_vertedero <- as.data.frame(TDFnombre_vertedero)
# Renombrar columnas existentes (ahora hay 2)
colnames(Tablanombre_vertedero) <- c("NombreVertedero", "ni")
# Calcular hi y añadir la columna
hi <- Tablanombre_vertedero$ni / sum(Tablanombre_vertedero$ni)
Tablanombre_vertedero$`hi(%)` <- round(hi * 100, 3)
colnames(Tablanombre_vertedero) <- c("NombreVertedero", "ni","hi(%)")
Tablanombre_vertedero
## NombreVertedero ni hi(%)
## 1 Agra Landfill 25 2.941
## 2 Ahmedabad Landfill 25 2.941
## 3 Allahabad Landfill 25 2.941
## 4 Amritsar Landfill 25 2.941
## 5 Bengaluru Landfill 25 2.941
## 6 Bhopal Landfill 25 2.941
## 7 Chennai Landfill 25 2.941
## 8 Coimbatore Landfill 25 2.941
## 9 Delhi Landfill 25 2.941
## 10 Guwahati Landfill 25 2.941
## 11 Gwalior Landfill 25 2.941
## 12 Hyderabad Landfill 25 2.941
## 13 Indore Landfill 25 2.941
## 14 Jabalpur Landfill 25 2.941
## 15 Jaipur Landfill 25 2.941
## 16 Jodhpur Landfill 25 2.941
## 17 Kanpur Landfill 25 2.941
## 18 Kolkata Landfill 25 2.941
## 19 Lucknow Landfill 25 2.941
## 20 Ludhiana Landfill 25 2.941
## 21 Madurai Landfill 25 2.941
## 22 Meerut Landfill 25 2.941
## 23 Mumbai Landfill 25 2.941
## 24 Nagpur Landfill 25 2.941
## 25 Nashik Landfill 25 2.941
## 26 Patna Landfill 25 2.941
## 27 Pune Landfill 25 2.941
## 28 Rajkot Landfill 25 2.941
## 29 Ranchi Landfill 25 2.941
## 30 Surat Landfill 25 2.941
## 31 Thiruvananthapuram Landfill 25 2.941
## 32 Vadodara Landfill 25 2.941
## 33 Varanasi Landfill 25 2.941
## 34 Visakhapatnam Landfill 25 2.941
# Agrupación Por Región
norte <- c("Delhi Landfill", "Agra Landfill", "Jaipur Landfill", "Jodhpur Landfill",
"Lucknow Landfill", "Kanpur Landfill", "Varanasi Landfill", "Meerut Landfill",
"Amritsar Landfill", "Ludhiana Landfill", "Allahabad Landfill")
sur <- c("Bengaluru Landfill", "Chennai Landfill", "Hyderabad Landfill", "Coimbatore Landfill",
"Madurai Landfill", "Thiruvananthapuram Landfill", "Visakhapatnam Landfill")
este <- c("Patna Landfill", "Kolkata Landfill", "Ranchi Landfill", "Guwahati Landfill")
oeste <- c("Mumbai Landfill", "Pune Landfill", "Nashik Landfill", "Surat Landfill",
"Ahmedabad Landfill", "Vadodara Landfill", "Rajkot Landfill", "Nagpur Landfill")
centro <- c("Bhopal Landfill", "Indore Landfill", "Jabalpur Landfill", "Gwalior Landfill")
# Asignar región a cada fila
Tablanombre_vertedero$Region <- ifelse(Tablanombre_vertedero$NombreVertedero %in% norte, "Norte",
ifelse(Tablanombre_vertedero$NombreVertedero %in% sur, "Sur",
ifelse(Tablanombre_vertedero$NombreVertedero %in% este, "Este",
ifelse(Tablanombre_vertedero$NombreVertedero %in% oeste, "Oeste",
ifelse(Tablanombre_vertedero$NombreVertedero %in% centro, "Centro", "NA")))))
Tablanombre_vertedero
## NombreVertedero ni hi(%) Region
## 1 Agra Landfill 25 2.941 Norte
## 2 Ahmedabad Landfill 25 2.941 Oeste
## 3 Allahabad Landfill 25 2.941 Norte
## 4 Amritsar Landfill 25 2.941 Norte
## 5 Bengaluru Landfill 25 2.941 Sur
## 6 Bhopal Landfill 25 2.941 Centro
## 7 Chennai Landfill 25 2.941 Sur
## 8 Coimbatore Landfill 25 2.941 Sur
## 9 Delhi Landfill 25 2.941 Norte
## 10 Guwahati Landfill 25 2.941 Este
## 11 Gwalior Landfill 25 2.941 Centro
## 12 Hyderabad Landfill 25 2.941 Sur
## 13 Indore Landfill 25 2.941 Centro
## 14 Jabalpur Landfill 25 2.941 Centro
## 15 Jaipur Landfill 25 2.941 Norte
## 16 Jodhpur Landfill 25 2.941 Norte
## 17 Kanpur Landfill 25 2.941 Norte
## 18 Kolkata Landfill 25 2.941 Este
## 19 Lucknow Landfill 25 2.941 Norte
## 20 Ludhiana Landfill 25 2.941 Norte
## 21 Madurai Landfill 25 2.941 Sur
## 22 Meerut Landfill 25 2.941 Norte
## 23 Mumbai Landfill 25 2.941 Oeste
## 24 Nagpur Landfill 25 2.941 Oeste
## 25 Nashik Landfill 25 2.941 Oeste
## 26 Patna Landfill 25 2.941 Este
## 27 Pune Landfill 25 2.941 Oeste
## 28 Rajkot Landfill 25 2.941 Oeste
## 29 Ranchi Landfill 25 2.941 Este
## 30 Surat Landfill 25 2.941 Oeste
## 31 Thiruvananthapuram Landfill 25 2.941 Sur
## 32 Vadodara Landfill 25 2.941 Oeste
## 33 Varanasi Landfill 25 2.941 Norte
## 34 Visakhapatnam Landfill 25 2.941 Sur
# Agrupar por región (solo ni)
TablaAgrupada <- aggregate(ni ~ Region, data = Tablanombre_vertedero, sum)
# Calcular hi(%) de forma correcta
total_ni <- sum(TablaAgrupada$ni)
TablaAgrupada$`hi(%)` <- round((TablaAgrupada$ni / total_ni) * 100, 2)
# Crear fila de totales
totales <- data.frame(
Region = "Total",
ni = total_ni,
`hi(%)` = round(sum(TablaAgrupada$`hi(%)`), )
)
# Asegurar nombres exactos de columnas
colnames(totales) <- colnames(TablaAgrupada)
# Unir las tablas
TablaAgrupadaFinal <- rbind(TablaAgrupada, totales)
# Mostrar
TablaAgrupadaFinal
## Region ni hi(%)
## 1 Centro 100 11.76
## 2 Este 100 11.76
## 3 Norte 275 32.35
## 4 Oeste 200 23.53
## 5 Sur 175 20.59
## 6 Total 850 100.00
# GDF Local ni
barplot(TablaAgrupada$ni,
main = "Gráfica No.6:
Distribución Regional de la Cantidad de Vertederos
en el Estudio de Residuos de la India",
xlab = "Región",
ylab = "Cantidad",
col = "blue3",
names.arg = TablaAgrupada$Region,
las = 1)

# GDF GLOBAL ni
barplot(TablaAgrupada$ni,
main = "Gráfica No.7:
Distribución Regional de la Cantidad de Vertederos
en el Estudio de Residuos de la India",
xlab = "Región",
ylab = "Cantidad",
col = "purple3",
names.arg = TablaAgrupada$Region,
las = 1,
ylim = c(0, length(nombre_vertedero_completo)))

# GDF LOCAL hi
barplot(TablaAgrupada$`hi(%)`,
main="Gráfica No.8:
Distribución Regional del Porcentaje de Vertederos
en el Estudio de Residuos de la India",
xlab = "Región",
ylab = "Porcentaje (%)",
col = "blue3",
names.arg = TablaAgrupada$Region,
las=1)

# GDF GLOBAL hi
barplot(TablaAgrupada$`hi(%)`,
main ="Gráfica No.9:
Distribución Regional del Porcentaje de Vertederos
en el Estudio de Residuos de la India",
xlab = "Región",
ylab = "Porcentaje (%)",
col = "purple3",
names.arg = TablaAgrupada$Region,
las = 1,
ylim = c(0, 100))

# Gráfico circular
library(RColorBrewer)
# Porcentajes
TablaAgrupada$`hi(%)` <- round(TablaAgrupada$`hi(%)`, 1)
# Paleta de colores
colores <- brewer.pal(n = length(TablaAgrupada$`hi(%)`), name = "Set3")
# Gráfico Circular
pie(TablaAgrupada$`hi(%)`,
labels = paste0(TablaAgrupada$`hi(%)`, "%"),
col = colores,
radius = 1,
main = "Gráfica No.10:
Porcentaje de Vertederos
en el Estudio de Residuos de la India")
legend("topright",
legend = TablaAgrupada$Region,
fill = colores,
title = "Leyenda",
cex = 0.8)

# Indicadores Estadísticos
library(e1071)
# Moda
Mo <- TablaAgrupada$Region[which.max(TablaAgrupada$ni)]
Mo
## [1] "Norte"
# Tabla de indicadores
Variable <- "Vertedero por Región"
Rango <- "-"
# Crear tabla
Tabla_Indicadores <- data.frame(Variable, Rango, Mo)
# Mostrar tabla
Tabla_Indicadores
## Variable Rango Mo
## 1 Vertedero por Región - Norte