#------------------ 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 (%)",
                                "Ni","Hi (%)",
                                "Nidsc","Hidsc (%)")

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


# Histograma Sturges 
Histograma<- hist(tasa_reciclaje,
                  breaks=seq(min(tasa_reciclaje),max(tasa_reciclaje),A),
                  main = "Gráfica No. 1: 
   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. 2:
        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(Nidsc,2), 
                                   Hiasc, 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_tasa_reciclaje,totales) 
TDF.totales
##    liminf limsup   MC  ni round.hi..2. Niasc round.Nidsc..2.            Hiasc
## 1      30     35 32.5  89        10.47    89             850 10.4705882352941
## 2      35     40 37.5  87        10.24   176             761 20.7058823529412
## 3      40     45 42.5  70         8.24   246             674 28.9411764705882
## 4      45     50 47.5  72         8.47   318             604 37.4117647058824
## 5      50     55 52.5  95        11.18   413             532 48.5882352941177
## 6      55     60 57.5  69         8.12   482             437 56.7058823529412
## 7      60     65 62.5  70         8.24   552             368 64.9411764705882
## 8      65     70 67.5  78         9.18   630             298 74.1176470588235
## 9      70     75 72.5  72         8.47   702             220 82.5882352941177
## 10     75     80 77.5  79         9.29   781             148 91.8823529411765
## 11     80     85 82.5  69         8.12   850              69              100
## 12      -      -    - 850          100     -               -                -
##    round.Hidsc..2.
## 1              100
## 2            89.53
## 3            79.29
## 4            71.06
## 5            62.59
## 6            51.41
## 7            43.29
## 8            35.06
## 9            25.88
## 10           17.41
## 11            8.12
## 12               -
# Histograma R ni Local
Histograma<- hist(tasa_reciclaje,
                  breaks=limites,
                  main = "Gráfica No. 3:
          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. 4 : 
          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. 5: 
        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. 6: 
        Distribución de Porcentaje de la Tasa de Reciclaje 
        en el Estudio de Residuos de la India", 
        ylim=c(0,100),
        col = "red3") 

# DIAGRAMA DE CAJA
boxplot(tasa_reciclaje, horizontal=T, col="salmon",
        main="Gráfica No. 7:
        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.8: 
     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. 9: 
     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_tasa_reciclaje<-median(tasa_reciclaje)
Me_tasa_reciclaje
## [1] 56
# 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_tasa_reciclaje<- skewness(tasa_reciclaje)
As_tasa_reciclaje
## [1] 0.02623265
# Curtosis 
K<-kurtosis(tasa_reciclaje)
K
## [1] -1.203364