#------------------ 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
# Variable residuos_generados
#------ Tabla a mano
setwd("/cloud/project")
datos <- read.csv("DATOS.csv", header = T, sep = ";", dec = ".")
str(datos)
## 'data.frame': 850 obs. of 14 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. : chr "19.1244" "19.1245" "19.1246" "19.1247" ...
## $ Landfill.Location..Long. : chr "" "" "" "" ...
## $ 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
residuos_generados <- datos$Waste.Generated..Tons.Day.
residuos_generados <- na.omit(residuos_generados)
# Determinar intevalos y amplitud
min <- min(residuos_generados)
max <- max(residuos_generados)
R <- max-min
k <- 1+(3.3*log10(length(residuos_generados)))
k <- floor(k)
A <- R/k
liminf <- seq(from=min, to=max-A, by=A)
limsup <- seq(from=min+A, to=max, by=A)
# Crear intervalos
I1 <- subset(CO2, CO2>=liminf[1] & CO2<limsup[1])
## Warning in Ops.factor(left, right): '>=' not meaningful for factors
## Warning in Ops.factor(left, right): '>=' not meaningful for factors
## Warning in Ops.factor(left, right): '<' not meaningful for factors
## Warning in Ops.factor(left, right): '<' not meaningful for factors
n <- c()
i <- c(1:k)
for (i in 1:k) {
if (i==10)
n[i] <- length(subset(residuos_generados,residuos_generados>=liminf[i] &
residuos_generados<=limsup[i]))
else
n[i] <- length(subset(residuos_generados,residuos_generados>=liminf[i]&
residuos_generados<limsup[i]))
}
MC <- (limsup+liminf)/2
MC
## [1] 984.45 1931.35 2878.25 3825.15 4772.05 5718.95 6665.85 7612.75 8559.65
## [10] 9506.55
ni <- n
sum(ni)
## [1] 850
hi <- ni/sum(ni)*100
hi
## [1] 10.352941 10.117647 9.058824 10.941176 9.294118 10.000000 8.823529
## [8] 9.764706 10.235294 11.411765
Niasc <- cumsum(ni)
Niasc
## [1] 88 174 251 344 423 508 583 666 753 850
Hiasc <- cumsum(hi)
Hiasc
## [1] 10.35294 20.47059 29.52941 40.47059 49.76471 59.76471 68.58824
## [8] 78.35294 88.58824 100.00000
Nidsc <- rev(cumsum(rev(ni)))
Nidsc
## [1] 850 762 676 599 506 427 342 267 184 97
Hidsc <- rev(cumsum(rev(hi)))
TablaResiduos_generados <- data.frame(liminf,limsup,MC,n,round(hi,2),Niasc,
round(Hiasc,2),Nidsc,round(Hidsc,2))
colnames(TablaResiduos_generados) <- c("Liminf","Limsup","MC","ni","hi (%)",
"Niasc","Hiasc (%)","Nidsc","Hidsc (%)")
# Crear totales
totales <- c(Liminf="-",
Limsup="-",
MC="-",
ni=sum(ni),
hi=sum(hi),
Niasc="-",
Hiasc="-",
Nidsc="-",
Hidsc="-")
TablaResiduos_generadostotal <- rbind(TablaResiduos_generados,totales)
# Gráfica de Distribución de Frecuencia
Histo_residuos <- hist(residuos_generados,
breaks=seq(min(residuos_generados),
max(residuos_generados),A),
main = "Gráfica No. 1:
Distribución de la Cantidad de Residuos Generados",
ylab = "Cantidad",
xlab = "Residuos generados (Ton/Día)",
col = "blue4")

setwd("/cloud/project")
datos <- read.csv("DATOS.csv", header = T, sep = ";", dec = ".")
str(datos)
## 'data.frame': 850 obs. of 14 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. : chr "19.1244" "19.1245" "19.1246" "19.1247" ...
## $ Landfill.Location..Long. : chr "" "" "" "" ...
## $ 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 ...
residuos_generados <- datos$Waste.Generated..Tons.Day.
Histogramaresiduos <- hist(residuos_generados, main = "Gráfica No. 2:
Distribución de la Cantidad de Residuos Generados",
col = "blue4",
ylab = "Cantidad", xlab = "Residuos generados")

# Crear tabla
limites <- Histogramaresiduos$breaks
liminf <- limites[1:10]
limsup <- limites[2:11]
MC <- Histogramaresiduos$mids
ni <- Histogramaresiduos$counts
ni
## [1] 58 83 85 85 94 85 80 87 94 99
hi <- ni/sum(ni)*100
hi
## [1] 6.823529 9.764706 10.000000 10.000000 11.058824 10.000000 9.411765
## [8] 10.235294 11.058824 11.647059
Niasc <- cumsum(ni)
Niasc
## [1] 58 141 226 311 405 490 570 657 751 850
Hiasc <- cumsum(hi)
Hiasc
## [1] 6.823529 16.588235 26.588235 36.588235 47.647059 57.647059
## [7] 67.058824 77.294118 88.352941 100.000000
Nidsc <- rev(cumsum(rev(ni)))
Nidsc
## [1] 850 792 709 624 539 445 360 280 193 99
Hidsc <- rev(cumsum(rev(hi)))
Hidsc
## [1] 100.00000 93.17647 83.41176 73.41176 63.41176 52.35294 42.35294
## [8] 32.94118 22.70588 11.64706
TDFResiduos_generados <- data.frame(liminf,limsup,MC,ni,round(hi,2),Niasc,
round(Hiasc,2),Nidsc,round(Hidsc,2))
colnames(TDFResiduos_generados) <- c("Liminf","Limsup","MC","ni","hi (%)",
"Niasc","Hiasc (%)","Nidsc","Hidsc (%)")
# Crear totales
totales <- c(
liminf="-",
limsup="-",
MC="-",
ni=sum(ni),
hi=sum(hi),
Niasc="-",
Hiasc="-",
Nidsc="-",
Hidsc="-")
TDFResiduos_generadosTotal <- rbind(TDFResiduos_generados,totales)
# Gráficas de Distribución de Frecuencia
# GDF ni local
Histograma_residuos <- hist(residuos_generados,
breaks = Histogramaresiduos$breaks,
main = "Gráfica No. 3:
Distribución de Cantidad de Residuos Generados",
ylab = "Cantidad",
xlab = "Residuos generados (ton/día)",
col = "blue3")

# GDF ni global
Histograma_residuos <- hist(residuos_generados,
breaks = Histogramaresiduos$breaks,
main = "Gráfica No. 4:
Distribución de Cantidad de Residuos Generados",
ylab = "Cantidad",
xlab = "Residuos generados (ton/día)",
col = "purple3")

# GDF hi local
barplot(TDFResiduos_generados$`hi (%)`,space = 0,
main = "Gráfica No. 5:
Distribución de Cantidad de Residuos Generados",
ylab = "Porcentaje (%)",
xlab = "Residuos generados (ton/día)",
names.arg = TDFResiduos_generados$MC,
col = "blue3")

# GDF hi global
barplot(TDFResiduos_generados$`hi (%)`,space = 0,
main = "Gráfica No. 6:
Distribución de Cantidad de Residuos Generados",
ylab = "Porcentaje (%)",
xlab = "Residuos generados (ton/día)",
ylim = c(0,100),
names.arg = TDFResiduos_generados$MC,
col = "purple3")

# Diagrama de caja
boxplot(residuos_generados, main = "Gráfica No. 7:
Distribución de la cantidad de residuos generados",
xlab = "Residuos generados (Ton/Día)", horizontal = T,
col = "orange2" )

# Ojivas
plot(limsup, Niasc, type = "o", col = "blue", pch = 16,
main = "Gráfico No. 8:
Ojivas ascendente y descendente de la cantidad de residuos generados",
xlab = "Residuos generados (Ton/Día)",
ylab = "Cantidad")
lines(liminf, Nidsc,type = "o",col = "red3", pch = 16)

plot(limsup, Hiasc, type = "o", col = "blue", pch = 16,
main = "Gráfico No. 9:
Ojivas ascendente y descendente del porcentaje de residuos generados",
xlab = "Residuos generados (Ton/Día)",
ylab = "Porcentaje (%)")
lines(liminf, Hidsc,type = "o",col = "red3", pch = 16)

#-----------INDICADORES
setwd("/cloud/project")
datos <- read.csv("DATOS.csv", header = T, sep = ";", dec = ".")
residuos_generados <- datos$Waste.Generated..Tons.Day.
residuos_generados <- na.omit(residuos_generados)
#--- Indicadores de Tendencia Central
# Mediana
Me <- median(residuos_generados)
# Media
X <- mean(residuos_generados)
# Moda
Mo <- "[9000,10000]"
#--- Indicadores de Dispersión
# Varianza
var(residuos_generados)
## [1] 7767284
# Desviación estandar
sd(residuos_generados)
## [1] 2786.985
# Coeficiente de variación
CV <- (sd(residuos_generados)/X)*100
#--- Indicadores de Forma
# Coeficiente de Asimetría
install.packages("e1071")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
library(e1071)
As <- skewness(residuos_generados)
# Curtosis
K <- kurtosis(residuos_generados)