#------------------ UNIVERSIDAD CENTRAL DEL ECUADOR
##-----Faculta de Ingeniería en Geología, Minas, Petróleo 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

# Carga de datos
datos<-read.csv("Waste_Management_and_Recycling_India.csv",
                header = T, sep = ";",dec = "." )
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 ...
# Extraer Variable Nominal
Ciudad<-datos$City.District

# EDA variable nominal
TDFCiudad<-table(Ciudad)
TDFCiudad
## Ciudad
##               Agra          Ahmedabad          Allahabad           Amritsar 
##                 25                 25                 25                 25 
##          Bengaluru             Bhopal            Chennai         Coimbatore 
##                 25                 25                 25                 25 
##              Delhi           Guwahati            Gwalior          Hyderabad 
##                 25                 25                 25                 25 
##             Indore           Jabalpur             Jaipur            Jodhpur 
##                 25                 25                 25                 25 
##             Kanpur            Kolkata            Lucknow           Ludhiana 
##                 25                 25                 25                 25 
##            Madurai             Meerut             Mumbai             Nagpur 
##                 25                 25                 25                 25 
##             Nashik              Patna               Pune             Rajkot 
##                 25                 25                 25                 25 
##             Ranchi              Surat Thiruvananthapuram           Vadodara 
##                 25                 25                 25                 25 
##           Varanasi      Visakhapatnam 
##                 25                 25
TablaCiudad<-as.data.frame(TDFCiudad)
hi<-TablaCiudad$Freq/sum(TablaCiudad$Freq)
hi_por<-hi*100


TablaCiudad<-data.frame(TablaCiudad,hi_por)
colnames(TablaCiudad)<-c("Ciudad","ni","hi(%)")
TablaCiudad
##                Ciudad ni    hi(%)
## 1                Agra 25 2.941176
## 2           Ahmedabad 25 2.941176
## 3           Allahabad 25 2.941176
## 4            Amritsar 25 2.941176
## 5           Bengaluru 25 2.941176
## 6              Bhopal 25 2.941176
## 7             Chennai 25 2.941176
## 8          Coimbatore 25 2.941176
## 9               Delhi 25 2.941176
## 10           Guwahati 25 2.941176
## 11            Gwalior 25 2.941176
## 12          Hyderabad 25 2.941176
## 13             Indore 25 2.941176
## 14           Jabalpur 25 2.941176
## 15             Jaipur 25 2.941176
## 16            Jodhpur 25 2.941176
## 17             Kanpur 25 2.941176
## 18            Kolkata 25 2.941176
## 19            Lucknow 25 2.941176
## 20           Ludhiana 25 2.941176
## 21            Madurai 25 2.941176
## 22             Meerut 25 2.941176
## 23             Mumbai 25 2.941176
## 24             Nagpur 25 2.941176
## 25             Nashik 25 2.941176
## 26              Patna 25 2.941176
## 27               Pune 25 2.941176
## 28             Rajkot 25 2.941176
## 29             Ranchi 25 2.941176
## 30              Surat 25 2.941176
## 31 Thiruvananthapuram 25 2.941176
## 32           Vadodara 25 2.941176
## 33           Varanasi 25 2.941176
## 34      Visakhapatnam 25 2.941176
# Crear las agrupaciones
norte <- c("Delhi", "Agra", "Jaipur", "Jodhpur", "Lucknow", "Kanpur", 
           "Varanasi", "Meerut", "Amritsar", "Ludhiana", "Allahabad")
sur <- c("Bengaluru", "Chennai", "Hyderabad", "Coimbatore", "Madurai", 
         "Thiruvananthapuram", "Visakhapatnam")
este <- c("Patna", "Kolkata", "Ranchi", "Guwahati")
oeste <- c("Mumbai", "Pune", "Nashik", "Surat", "Ahmedabad",
           "Vadodara", "Rajkot", "Nagpur")
centro <- c("Bhopal", "Indore", "Jabalpur", "Gwalior")

# Asignar la región
TablaCiudad$Region <- ifelse(TablaCiudad$Ciudad %in% norte, "Norte",
                             ifelse(TablaCiudad$Ciudad %in% centro, "Centro",
                                    ifelse(TablaCiudad$Ciudad %in% sur, "Sur",
                                           ifelse(TablaCiudad$Ciudad%in% este,"Este",
                                                  ifelse(TablaCiudad$Ciudad%in% oeste,"Oeste",NA)))))


# Tabla Final
TablaCiudad
##                Ciudad ni    hi(%) Region
## 1                Agra 25 2.941176  Norte
## 2           Ahmedabad 25 2.941176  Oeste
## 3           Allahabad 25 2.941176  Norte
## 4            Amritsar 25 2.941176  Norte
## 5           Bengaluru 25 2.941176    Sur
## 6              Bhopal 25 2.941176 Centro
## 7             Chennai 25 2.941176    Sur
## 8          Coimbatore 25 2.941176    Sur
## 9               Delhi 25 2.941176  Norte
## 10           Guwahati 25 2.941176   Este
## 11            Gwalior 25 2.941176 Centro
## 12          Hyderabad 25 2.941176    Sur
## 13             Indore 25 2.941176 Centro
## 14           Jabalpur 25 2.941176 Centro
## 15             Jaipur 25 2.941176  Norte
## 16            Jodhpur 25 2.941176  Norte
## 17             Kanpur 25 2.941176  Norte
## 18            Kolkata 25 2.941176   Este
## 19            Lucknow 25 2.941176  Norte
## 20           Ludhiana 25 2.941176  Norte
## 21            Madurai 25 2.941176    Sur
## 22             Meerut 25 2.941176  Norte
## 23             Mumbai 25 2.941176  Oeste
## 24             Nagpur 25 2.941176  Oeste
## 25             Nashik 25 2.941176  Oeste
## 26              Patna 25 2.941176   Este
## 27               Pune 25 2.941176  Oeste
## 28             Rajkot 25 2.941176  Oeste
## 29             Ranchi 25 2.941176   Este
## 30              Surat 25 2.941176  Oeste
## 31 Thiruvananthapuram 25 2.941176    Sur
## 32           Vadodara 25 2.941176  Oeste
## 33           Varanasi 25 2.941176  Norte
## 34      Visakhapatnam 25 2.941176    Sur
Grupo<-table(TablaCiudad$Region)
hi_grupo<-Grupo/sum(Grupo)
hi_grupo<-hi_grupo*100

TablaAgrupada<-aggregate(cbind(ni, `hi(%)`) ~ Region, data = TablaCiudad, sum)
TablaAgrupada
##   Region  ni    hi(%)
## 1 Centro 100 11.76471
## 2   Este 100 11.76471
## 3  Norte 275 32.35294
## 4  Oeste 200 23.52941
## 5    Sur 175 20.58824
# Crear fila de totales
totales <- c(
  Region = "Total",
  ni = sum(TablaAgrupada$ni),`hi(%)` = sum(TablaAgrupada$`hi(%)`)
)

TablaAgrupadaFinal <- rbind(TablaAgrupada, totales)
TablaAgrupadaFinal
##   Region  ni            hi(%)
## 1 Centro 100 11.7647058823529
## 2   Este 100 11.7647058823529
## 3  Norte 275 32.3529411764706
## 4  Oeste 200 23.5294117647059
## 5    Sur 175 20.5882352941176
## 6  Total 850              100
# GDF
hi_red <- round(TablaAgrupada$`hi(%)`,2)

barplot(TablaAgrupada$ni,
        main="Gráfica No. 11: 
        Distribución de Cantidad de Ciudades 
        en el Estudio de Residuos de la India",
        xlab= "Ciudades",
        ylab="Cantidad",
        names.arg= TablaAgrupada$Region,
        cex.names = 1, col = "blue3")

barplot(TablaAgrupada$ni,
        main="Gráfica No. 12:
        Distribución de Cantidad de Ciudades
        en el Estudio de Residuos de la India",
        xlab= "Ciudades",
        ylab="Cantidad",
        names.arg= TablaAgrupada$Region,
        col = "purple3",
        ylim=c(0,length(Ciudad)))

barplot(hi_red,
        main="Gráfica No. 13:
        Distribución de Porcentaje de Ciudades
        en el Estudio de Residuos de la India",
        xlab= "Ciudades",
        ylab="Porcentaje (%)",
        col = "blue3",
        names.arg= TablaAgrupada$Region)

barplot(hi_red,
        main="Gráfica No. 14:
        Distribución de Porcentaje de Ciudades
        en el Estudio de Residuos de la India",
        xlab= "Ciudades",
        ylab="Porcentaje (%)",
        names.arg= TablaAgrupada$Region,
        col = "purple3",
        ylim=c(0,100))

#Diagrama Circular 
library(RColorBrewer)
n <- length(TablaCiudad$Region)
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. 15: 
    Porcentaje de Ciudades
    en el Estudio de Residuos de la India")

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