#------------------ 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 Cuantitativa Continua
tasa_reciclaje<-na.omit(datos$Recycling.Rate....)

# Procedimiento Sturges
min<-min(tasa_reciclaje)
max<-max(tasa_reciclaje)
R<- max-min
k<- 1+(3.3*log10(length(tasa_reciclaje)))
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(tasa_reciclaje,tasa_reciclaje>=li[i] & tasa_reciclaje<=ls[i]))
  else
    ni[i] <- length(subset(tasa_reciclaje,tasa_reciclaje>=li[i] & tasa_reciclaje<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.tasa_reciclaje<-data.frame(li,ls,MC,ni,round(hi,2),
                               Ni_asc,round(Hi_asc,2),
                               Ni_dsc,round(Hi_dsc,2))

colnames(TDF.tasa_reciclaje)<-c("Li","Ls",
                                "Mc","ni","hi (%)",
                                "Niasc","Hiasc (%)",
                                "Nidsc","Hidsc (%)")
TDF.tasa_reciclaje
##      Li   Ls    Mc  ni hi (%) Niasc Hiasc (%) Nidsc Hidsc (%)
## 1  30.0 35.5 32.75  89  10.47    89     10.47   850    100.00
## 2  35.5 41.0 38.25  87  10.24   176     20.71   761     89.53
## 3  41.0 46.5 43.75  85  10.00   261     30.71   674     79.29
## 4  46.5 52.0 49.25  72   8.47   333     39.18   589     69.29
## 5  52.0 57.5 54.75 105  12.35   438     51.53   517     60.82
## 6  57.5 63.0 60.25  71   8.35   509     59.88   412     48.47
## 7  63.0 68.5 65.75  90  10.59   599     70.47   341     40.12
## 8  68.5 74.0 71.25  70   8.24   669     78.71   251     29.53
## 9  74.0 79.5 76.75 101  11.88   770     90.59   181     21.29
## 10 79.5 85.0 82.25  80   9.41   850    100.00    80      9.41
# Crear Fila de Totales
totales <- c(
  li= "-",
  ls= "-",
  MC= "-",
  ni= sum(ni),
  hi= sum(hi),
  Ni_asc= "-",
  Ni_dsc= "-",
  Hi_asc= "-",
  Hi_dsc= "-") 
TDF_totales<- rbind(TDF.tasa_reciclaje,totales) 
TDF_totales
##      Li   Ls    Mc  ni hi (%) Niasc Hiasc (%) Nidsc Hidsc (%)
## 1    30 35.5 32.75  89  10.47    89     10.47   850       100
## 2  35.5   41 38.25  87  10.24   176     20.71   761     89.53
## 3    41 46.5 43.75  85     10   261     30.71   674     79.29
## 4  46.5   52 49.25  72   8.47   333     39.18   589     69.29
## 5    52 57.5 54.75 105  12.35   438     51.53   517     60.82
## 6  57.5   63 60.25  71   8.35   509     59.88   412     48.47
## 7    63 68.5 65.75  90  10.59   599     70.47   341     40.12
## 8  68.5   74 71.25  70   8.24   669     78.71   251     29.53
## 9    74 79.5 76.75 101  11.88   770     90.59   181     21.29
## 10 79.5   85 82.25  80   9.41   850       100    80      9.41
## 11    -    -     - 850    100     -         -     -         -
# Histograma Sturges 
Histograma<- hist(tasa_reciclaje,
                  breaks=seq(min(tasa_reciclaje),max(tasa_reciclaje),A),
                  main = "Gráfica No. 50: 
   Distribución de Cantidad de la Tasa de Reciclaje 
   en el Estudio de Residuos de la India",
                  ylab = "Cantidad",
                  xlab = "Tasa de Reciclaje (%)",
                  col = "green4")

## Procedimiento con R
Histogramatasa_reciclaje <- hist(tasa_reciclaje, 
                                 main = "Gráfica No. 51:
        Distribución de Cantidad de la Tasa de Reciclaje 
        en el Estudio de Residuos de la India",
                                 xlab = "Tasa de Reciclaje (%)", ylab = "Cantidad", col = "red4")

# Limites 
limites <- Histogramatasa_reciclaje$breaks
liminf <- limites[1:11]
limsup <- limites[2:12]
MC <- Histogramatasa_reciclaje$mids
ni <- Histogramatasa_reciclaje$counts

# Total de datos
n <- sum(ni)

# Frecuencia relativa (%)
hi <- (ni / n) * 100

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

# Crear tabla
Tabla_tasa_reciclaje <- data.frame(liminf,limsup, MC, 
                                   ni, round(hi,2), 
                                   Niasc, round(Hiasc,2),
                                   Nidsc,round(Hidsc,2))
colnames(Tabla_tasa_reciclaje)<-c("Li","Ls",
                                "Mc","ni","hi (%)",
                                "Niasc","Hiasc (%)",
                                "Nidsc","Hidsc (%)")
Tabla_tasa_reciclaje
##    Li Ls   Mc ni hi (%) Niasc Hiasc (%) Nidsc Hidsc (%)
## 1  30 35 32.5 89  10.47    89     10.47   850    100.00
## 2  35 40 37.5 87  10.24   176     20.71   761     89.53
## 3  40 45 42.5 70   8.24   246     28.94   674     79.29
## 4  45 50 47.5 72   8.47   318     37.41   604     71.06
## 5  50 55 52.5 95  11.18   413     48.59   532     62.59
## 6  55 60 57.5 69   8.12   482     56.71   437     51.41
## 7  60 65 62.5 70   8.24   552     64.94   368     43.29
## 8  65 70 67.5 78   9.18   630     74.12   298     35.06
## 9  70 75 72.5 72   8.47   702     82.59   220     25.88
## 10 75 80 77.5 79   9.29   781     91.88   148     17.41
## 11 80 85 82.5 69   8.12   850    100.00    69      8.12
# Crear Fila de Totales
totales <- c(
  liminf= "-",
  limsup= "-",
  MC= "-",
  ni= sum(ni),
  hi= sum(hi),
  Niasc= "-",
  Nidsc= "-",
  Hiasc= "-",
  Hidsc= "-") 
TDF.totales<- rbind(Tabla_tasa_reciclaje,totales) 
TDF.totales
##    Li Ls   Mc  ni hi (%) Niasc Hiasc (%) Nidsc Hidsc (%)
## 1  30 35 32.5  89  10.47    89     10.47   850       100
## 2  35 40 37.5  87  10.24   176     20.71   761     89.53
## 3  40 45 42.5  70   8.24   246     28.94   674     79.29
## 4  45 50 47.5  72   8.47   318     37.41   604     71.06
## 5  50 55 52.5  95  11.18   413     48.59   532     62.59
## 6  55 60 57.5  69   8.12   482     56.71   437     51.41
## 7  60 65 62.5  70   8.24   552     64.94   368     43.29
## 8  65 70 67.5  78   9.18   630     74.12   298     35.06
## 9  70 75 72.5  72   8.47   702     82.59   220     25.88
## 10 75 80 77.5  79   9.29   781     91.88   148     17.41
## 11 80 85 82.5  69   8.12   850       100    69      8.12
## 12  -  -    - 850    100     -         -     -         -
# Histograma R ni Local
Histograma<- hist(tasa_reciclaje,
                  breaks=limites,
                  main = "Gráfica No. 52:
          Distribución de Cantidad de la Tasa de Reciclaje 
          en el Estudio de Residuos de la India",
                  ylab = "Cantidad",
                  xlab = "Tasa de Reciclaje (%)",
                  col = "skyblue3")

# Histograma R ni Global
Histograma<- hist(tasa_reciclaje,
                  breaks=limites,
                  main = "Gráfica No. 53: 
          Distribución de Cantidad de la Tasa de Reciclaje 
          en el Estudio de Residuos de la India",
                  ylab = "Cantidad",
                  xlab = "Tasa de Reciclaje (%)",
                  col = "red3", ylim = c(0,length(tasa_reciclaje)))

# Histograma R hi Local
barplot(hi,space = 0, ylab = "Porcentaje (%)", xlab = "Tasa de Reciclaje (%)",
        names.arg = Tabla_tasa_reciclaje$Mc,
        main = "Gráfica No. 54: 
        Distribución de Porcentaje de la Tasa de Reciclaje 
        en el Estudio de Residuos de la India",
        col = "skyblue3") 

# Histograma R hi Global
barplot(hi,space = 0, ylab = "Porcentaje (%)",xlab = "Tasa de Reciclaje (%)",
        names.arg = Tabla_tasa_reciclaje$Mc,
        main = "Gráfica No. 55: 
        Distribución de Porcentaje de la Tasa de Reciclaje 
        en el Estudio de Residuos en la India", 
        ylim=c(0,100),
        col = "red3") 

# DIAGRAMA DE CAJA
boxplot(tasa_reciclaje, horizontal=T, col="salmon",
        main="Gráfica No. 56:
        Diagrama de Caja de la Cantidad de Tasa de Reciclaje 
        en el Estudio de Residuos de la India",
        xlab= "Tasa de Reciclaje (%)")

# OJIVAS Ni
plot(limsup,Niasc,col="blue",
     main="Gráfica No. 57: 
     Ojiva Ascendente y Descendente de la Cantidad de Tasa de Reciclaje 
     en el Estudio de Residuos de la India",
     ylab = "Cantidad", xlab="Tasa de Reciclaje (%)", type="o",  pch=16, xlim = c(30,85))
lines(liminf,Nidsc,col="red",type="o", pch=16)

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

# Indicadores Estadísticos 

# Tendencia Central
# Media Aritmética
X<-mean(tasa_reciclaje)
X
## [1] 57.07647
# Mediana
Me<-median(tasa_reciclaje)
Me
## [1] 56
# Moda
Mo<-"[30,40],[50,55]"
# Dispersión 
# Varianza 
var(tasa_reciclaje)
## [1] 260.1767
# Desviación Estandar 
sd<-sd(tasa_reciclaje)
sd
## [1] 16.12999
CV<-(sd/X)*100
CV
## [1] 28.26032
# Formas 
# Asimetria 
library(e1071)
As<- skewness(tasa_reciclaje)
As
## [1] 0.02623265
# Curtosis 
K<-kurtosis(tasa_reciclaje)
K
## [1] -1.203364
# Tabla de Indicadores
Variable <- "Tasa de Reciclaje"
Rango <- "[30,85]"

Tabla_indicadores <- data.frame(Variable,Rango,round(X,3),Me,Mo,round(sd,2),round(CV,2),round(As,2),round(K,2))
colnames(Tabla_indicadores) <- c("Variable","Rango","X", "Me", "Mo","sd","CV","As","K")
Tabla_indicadores
##            Variable   Rango      X Me              Mo    sd    CV   As    K
## 1 Tasa de Reciclaje [30,85] 57.076 56 [30,40],[50,55] 16.13 28.26 0.03 -1.2