#------------------ 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 la variable 
costo_gestion<-datos$Cost.of.Waste.Management....Ton.

# Procedimiento Manual

min<-min(costo_gestion)
max<-max(costo_gestion)
R<-max-min
k<-1+(3.3*log10(length(costo_gestion)))
k<-floor(k)
A<-R/k

li<-seq(from=min, to=max-A, by=A)
ls<-seq(from=min+A, to=max, by=A)
MC<-(li+ls)/2

ni<-c()
for (i in 1:k) {
  if(i==k)
    ni[i] <- length(subset(costo_gestion,costo_gestion>=li[i] & costo_gestion<=ls[i]))
  else
    ni[i] <- length(subset(costo_gestion,costo_gestion>=li[i] & costo_gestion<ls[i]))
}
n<-sum(ni)
hi<-(ni/n)*100
Ni_asc<-cumsum(ni)
Ni_dsc<-rev(cumsum(rev(ni)))
Hi_asc<-cumsum(hi)
Hi_dsc<-rev(cumsum(rev(hi)))

TDF.costo_gestión<-data.frame(li,ls,MC,ni,hi,
                              Ni_asc,Hi_asc,
                              Ni_dsc,Hi_dsc)
# Histograma Sturges
Histograma<- hist(costo_gestion,
                  breaks=seq(min,max,A),
                  main = "Gráfica No. 58: 
                  Distribución de Cantidad del Costo de Gestión
                  en el Estudio de Residuos de la India",
                  ylab = "Cantidad",
                  xlab = "Costo de Gestión",
                  col = "orange3")

# Procedimiento con R
histograma.costo_gestion<- hist(costo_gestion,
                                main="Gráfica No. 59: 
               Distribución de Cantidad del Costo de Gestión
               en el Estudio de Residuos de la India",
                                ylab = "Costo de gestión",
                                xlab="Cantidad", col = "red")

# Limites 
limites <- histograma.costo_gestion$breaks
liminf <- limites[1:9]
limsup <- limites[2:10]
MC <- histograma.costo_gestion$mids
ni <- histograma.costo_gestion$counts

n <- sum(ni)
hi <- (ni / n) * 100

Niasc <- cumsum(ni)
Nidsc <- rev(cumsum(rev(ni)))
Hiasc <- cumsum(hi)
Hidsc <- rev(cumsum(rev(hi)))

# Crear tabla
Tabla_costo_gestion <- data.frame(
  Lim_inf = liminf,
  Lim_sup = limsup,
  MC = MC,
  ni = ni,
  hi = round(hi, 2),
  Niasc = Niasc,
  Nidsc = Nidsc,
  Hiasc = round(Hiasc, 2),
  Hidsc = round(Hidsc, 2)
)

# Crear Fila de Totales
totales <- c(
  liminf= "-",
  limsup= "-",
  MC= "-",
  ni= sum(ni),
  hi= sum(hi),
  Niasc= "-",
  Nidsc= "-",
  Hiasc= "-",
  Hidsc= "-")

TDF.totales<- rbind(Tabla_costo_gestion,totales)
TDF.totales
##    Lim_inf Lim_sup   MC  ni    hi Niasc Nidsc Hiasc Hidsc
## 1      500    1000  750  89 10.47    89   850 10.47   100
## 2     1000    1500 1250 102    12   191   761 22.47 89.53
## 3     1500    2000 1750  73  8.59   264   659 31.06 77.53
## 4     2000    2500 2250  93 10.94   357   586    42 68.94
## 5     2500    3000 2750 105 12.35   462   493 54.35    58
## 6     3000    3500 3250 109 12.82   571   388 67.18 45.65
## 7     3500    4000 3750  88 10.35   659   279 77.53 32.82
## 8     4000    4500 4250 105 12.35   764   191 89.88 22.47
## 9     4500    5000 4750  86 10.12   850    86   100 10.12
## 10       -       -    - 850   100     -     -     -     -
# Histograma R ni Local
Histograma<- hist(costo_gestion,
                  breaks=limites,
                  main = "Gráfica No. 60:
Distribución de Cantidad del Costo de Gestión
en el Estudio de Residuos de la India",
                  ylab = "Cantidad",
                  xlab = "Costo de Gestión",
                  col = "blue3")

# Histograma R ni Global
Histograma<- hist(costo_gestion,
                  breaks=limites,
                  main = "Gráfica No. 61:
Distribución de Cantidad del Costo de Gestión
en el Estudio de Residuos de la India",
                  ylab = "Cantidad",
                  xlab = "Costo de Gestión",
                  col = "purple3", ylim = c(0,length(costo_gestion)))

# Histograma R hi Local
barplot(Tabla_costo_gestion$hi,space = 0, ylab = "Porcentaje (%)",xlab = "Costo de Gestión",
        names.arg = Tabla_costo_gestion$MC,
        main = "Gráfica No. 62:
Distribución de Porcentaje del Costo de Gestión
en el Estudio de Residuos de la India",
        col = "blue3") 

# Histograma R hi Global
barplot(Tabla_costo_gestion$hi,space = 0, ylab = "Porcentaje (%)",xlab = "Costo de Gestión",
        names.arg = Tabla_costo_gestion$MC,
        main = "Gráfica No. 63:
Distribución de Porcentaje del Costo de Gestión
en el Estudio de Residuos de la India", 
        ylim=c(0,100),
        col = "purple3") 

# DIAGRAMA DE CAJA
boxplot(costo_gestion, horizontal=T, col="skyblue",
        main="Gráfica No. 64:
Diagrama de Caja del Costo de Gestión
en el Estudio de Residuos de la India",
        xlab= "Costo de Gestión")

# OJIVAS Ni
plot(limsup,Niasc,col="blue",
     main="Gráfica No. 65:
Ojiva Ascendente y Descendente de la Cantidad del Costo de Gestión
en el Estudio de Residuos de la India",
     ylab = "Cantidad", xlab="Costo de Gestión)", type="o", pch=16, xlim = c(500,5000))
lines(liminf,Nidsc,col="red",type="o", pch=16)

# OJIVAS Hi
plot(limsup, Hiasc,col="blue",
     main="Gráfica No. 66:
Ojiva Ascendente y Descendente del Porcentaje del Costo de Gestión
en el Estudio de Residuos de la India",
     ylab = "Porcentaje (%)", xlab="Costo de Gestión", type="o", pch=16,
     ylim = c(0,100),xlim = c(500,5000))
lines(liminf,Hidsc,col="red",type="o", pch=16)

# Indicadores Estadísticos 

#Tendencia Central
# Media Aritmética
X<-mean(costo_gestion)
X
## [1] 2778.459
# Mediana
Me<-median(costo_gestion)
Me
## [1] 2853
# Moda
Mo<-"[1000,1500],
[2500,3500], 
[4000,4500]"

# Dispersión 
# Varianza 
var(costo_gestion)
## [1] 1629007
# Desviación Estandar 
sd<-sd(costo_gestion)
sd
## [1] 1276.326
CV<-(sd/X)*100
CV
## [1] 45.93646
# Formas 
# Asimetria 
library(e1071)
As<- skewness(costo_gestion)
As
## [1] -0.05720972
# Curtosis 
K<-kurtosis(costo_gestion)
K
## [1] -1.162018
# Tabla de Indicadores
Variable <- "Costo de Gestión"
Rango <- "[503,4999]"

Tabla_indicadores <- data.frame(Variable,Rango,X,Me,Mo,sd,CV,As,K)
Tabla_indicadores
##           Variable      Rango        X   Me
## 1 Costo de Gestión [503,4999] 2778.459 2853
##                                         Mo       sd       CV          As
## 1 [1000,1500],\n[2500,3500], \n[4000,4500] 1276.326 45.93646 -0.05720972
##           K
## 1 -1.162018