#------------------ UNIVERSIDAD CENTRAL DEL ECUADOR
##-----Facultad de Ingeniería en Geología, Minas, Petróleos y Ambiental 
###-----------------Carrera de Ingeniería Ambiental

# Proyecto: Estudio de Residuos y Reciclaje en la India
# Etapa: Estadistica Inferencial
# Nombre: Helen Taipe
# Fecha: 20/07/2025
library(rio)
bd <- import("Waste_Management_and_Recycling_India.csv xd.csv")

names(bd) <- c(
  "Ciudad",
  "Tipo_Residuo",
  "Residuos_Generados_TonDia",
  "Tasa_Reciclaje_Porc",
  "Densidad_Poblacional",
  "Eficiencia_Municipal",
  "Metodo_Disposicion",
  "Costo_Gestion_Residuos",
  "Campanas_Concientizacion",
  "Nombre_Relleno",
  "Ubicacion_Relleno",
  "Capacidad_Relleno_Ton",
  "Anio"
)

library(naniar)
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(tidyr)
bd <- bd %>%
  separate(Ubicacion_Relleno, into = c("Latitud", "Longitud"), sep = ",", remove = FALSE) %>%
  mutate(
    Latitud = as.numeric(trimws(Latitud)),
    Longitud = as.numeric(trimws(Longitud))
  )
# --- DISTRIBUCIÓN BINOMIAL: Campañas de Concientización ---
x <- bd$Campanas_Concientizacion
x <- na.omit(x)

# Establecer número total de intentos (n): suponer máximo observado como n
n_binom <- max(x)  # por ejemplo 20
p_est <- mean(x) / n_binom  # estimador de p

cat("Parámetro estimado p:", round(p_est, 4), "\n")
## Parámetro estimado p: 0.4952
cat("n =", n_binom, "\n")
## n = 20
# Frecuencias observadas
tabla <- table(x)
valores <- as.integer(names(tabla))
Fo <- as.numeric(tabla)

# Frecuencias esperadas binomiales
Fe <- dbinom(valores, size = n_binom, prob = p_est) * length(x)

# Eliminar clases con Fe > 0
valid <- Fe > 0
Fo_valid <- Fo[valid]
Fe_valid <- Fe[valid]

# Chi-cuadrado
X2 <- sum((Fo_valid - Fe_valid)^2 / Fe_valid)
VC <- qchisq(0.95, df = sum(valid) - 1 - 1)

cat("X² =", round(X2, 2), "| Valor Crítico =", round(VC, 2), "\n")
## X² = 4623408 | Valor Crítico = 30.14
cat("¿Se rechaza H0?", X2 > VC, "\n")
## ¿Se rechaza H0? TRUE
# Gráfico comparativo
barplot(Fo, col = "lightblue", names.arg = valores,ylim=c(0,150),
        main = "Gráfica No.8 : Distribución de Frecuencias Observadas: Tasa de Reciclaje
        en el Estudio de residuos y reciclaje en India")
lines(valores, Fe, type = "b", col = "red", lwd = 2)

### Conclusiones ###
# El comportamiento de la variable discreta Campanas_ oncientizacion se modeliza a través
# de un modelo binomial con n = 20 e índice de éxito estimado p ≈ 0.4952 .
#
# La prueba de bondad de ajuste arroja un estadístico X² = 4623408 y un valor crítico 
# de 30.14 , por lo que se rechaza la hipótesis nula de que la variable 
# sigue una distribución binomial.