#------------------ 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