#------------------ 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: Estadística Inferencial
# Cargar los datos
datos <- read.csv("Waste_Management_and_Recycling_India.csv", header = TRUE, sep = ";", dec = ".")
# Estructura
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 ...
options(scipen = 999)
# Extraer y limpiar la variable
densidad_poblacional <- datos$Population.Density..People.km..
densidad_poblacional <- na.omit(densidad_poblacional)
# Filtrado
densidad_filtrada <- densidad_poblacional[densidad_poblacional >= 18000 & densidad_poblacional <= 30000]
breaks_filtrados <- seq(18000, 30000, by = 2000)
# Desplazamiento para aplicar exponencial
base <- 18000
densidad <- densidad_filtrada - base
# Calcular lambda para la exponencial
lambda <- 1 / mean(densidad)
# Histograma
HIST<- hist(densidad_filtrada,
breaks = breaks_filtrados,
col = "orange2",
freq = FALSE,
main = "Gráfica No. 114: Distribución de Probabilidad de la Densidad Poblacional
en el Estudio de Residuos de la India",
xlab = "Densidad poblacional (Personas/km²)",
ylab = "Densidad de probabilidad", cex.main = 0.9)
# Superponer curva exponencial desplazada
curve(dexp(x - base, rate = lambda),
from = 18000, to = 30000,
col = "blue", lwd = 2, add = TRUE)

FO <- (HIST$counts/length(densidad_filtrada))*100
FO
## [1] 50.000000 16.666667 25.000000 8.333333 0.000000 0.000000
liminf<- HIST$breaks[1:6]
limsup<- HIST$breaks[2:7]
P<-c()
for (i in 1:length(HIST$counts))
{P[i] <-(pexp(limsup[i],rate=lambda)-pexp(liminf[i],rate=lambda))
}
P
## [1] 0.00083203781 0.00040779291 0.00019986479 0.00009795642 0.00004800976
## [6] 0.00002353023
# PEARSON
FE <- P *100
FE
## [1] 0.083203781 0.040779291 0.019986479 0.009795642 0.004800976 0.002353023
cor(FO,FE)
## [1] 0.9310261
plot(FO, FE,
main = "Gráfica No. 116: Correlación entre la Frecuencia Observada
y Frecuencia Esperada en el modelo Log Normal",
xlab = "Frecuencia Observada",
ylab = "Frecuencia Esperada",
col = "darkgreen", pch = 19, cex.main=0.9)
modelo_lineal <- lm(FE ~ FO)
abline(modelo_lineal, col = "red", lwd = 2)

# CHI CUADRADO
x2<-sum(((FO-FE)^2)/FE)
x2
## [1] 75019.07
VC<- qchisq(0.9999999999999,6)
VC
## [1] 72.9779
x2> VC
## [1] TRUE
# PROBABILIDAD
# Secuencia de valores para el eje x
x <- seq(min(densidad_filtrada), max(densidad_filtrada), 0.1)
# Rango de interés: entre 25000 y 27000 personas/km²
x_area <- seq(25000, 27000, length.out = 100)
y_area <- dexp(x_area - base, rate = lambda)
# Calcular la probabilidad acumulada entre 25000 y 27000
prob_area <- pexp(27000 - base, rate = lambda) - pexp(25000 - base, rate = lambda)
porcentaje <- round(prob_area * 100, 2)
# Graficar la curva de densidad
plot(x,
dexp(x - base, rate = lambda),
type = "l",
col = "blue",
lwd = 2,
main = "Gráfica No. 117: Cálculo de Probabilidad de la Densidad Poblacional\nen el Estudio de Residuos de la India",
xlab = "Densidad poblacional (Personas/km²)",
ylab = "Densidad de probabilidad",
cex.main = 0.9)
# Resaltar el área bajo la curva
polygon(c(19000, x_area, 19500),
c(0, y_area, 0),
col = rgb(0, 0, 1, alpha = 0.3),
border = NA)
# Leyenda
legend("topright",
legend = c("Modelo Exponencial", "Área entre 25.000 y 27.000"),
col = c("blue", rgb(0, 0, 1, alpha = 0.3)),
lwd = c(2, NA),
pch = c(NA, 15),
pt.cex = 1,
bty = "n",
cex = 0.8)
# Porcentaje de probabilidad calculada
text(x = 19500,
y = max(y_area) + 0.00001,
labels = paste0(porcentaje, "%"),
col = "blue",
font = 2,
cex = 0.9)

range(densidad_filtrada)
## [1] 18195 24032