#------------------ 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: Estadística Inferencial
# Fecha: 20/07/2025

library(readr)

# file.choose()
datos <- read.csv2("/cloud/project/COORDENADAS.csv", stringsAsFactors=FALSE)

datos$Longitud <- gsub("\\.", "", datos$Longitud)
datos$Longitud <- gsub(",", ".", datos$Longitud)
datos$Longitud <- as.numeric(datos$Longitud)
datos <- datos[!is.na(datos$Longitud), ]


datos$Area_ha <- datos$Longitud / 10000


mediana_area <- median(datos$Area_ha, na.rm = TRUE)
datos <- datos[datos$Area_ha >= 7000, ]
datos$Area_ha_tratada <- ifelse(
  (datos$Area_ha < 70000 & datos$Area_ha > 7000) | datos$Area_ha > 90000,
  mediana_area,
  datos$Area_ha
)


valores <- datos[datos$Area_ha_tratada > 75650, "Area_ha_tratada"]


ancho <- 2000
breaks <- seq(floor(min(valores)), ceiling(max(valores)) + ancho, by = ancho)
clases <- cut(valores, breaks = breaks, right = FALSE)
tabla_frec <- table(clases)


barplot_heights <- as.numeric(tabla_frec)
bar_names <- names(tabla_frec)

barplot(barplot_heights, names.arg = bar_names, col = "skyblue", las = 2,
        main = "Frecuencia de Área agrupada con curva exponencial",
        xlab = "Intervalos de Área (ha)",
        ylab = "Frecuencia")


lambda_simulado <- 0.00005 

x_seq <- seq(min(valores), max(valores), length.out = 100)
dens_exp <- dexp(x_seq, rate = lambda_simulado)

total <- length(valores)
dens_exp_esc <- dens_exp * total * ancho
pos_barras <- (x_seq - min(valores)) / ancho + 0.5

lines(pos_barras, dens_exp_esc, col = "red", lwd = 2)

observados <- hist(valores, breaks = breaks, plot = FALSE)$counts
lambda_est <- 1 / mean(valores)

probs_esperadas <- pexp(breaks[-1], rate = lambda_est) - pexp(breaks[-length(breaks)], rate = lambda_est)
esperados <- probs_esperadas * total

resultado_chisq <- chisq.test(x = observados, p = probs_esperadas, rescale.p = TRUE)
## Warning in chisq.test(x = observados, p = probs_esperadas, rescale.p = TRUE):
## Chi-squared approximation may be incorrect
print(resultado_chisq)
## 
##  Chi-squared test for given probabilities
## 
## data:  observados
## X-squared = 37.447, df = 4, p-value = 1.457e-07
# en este caso la curva de la distribución exponencial aparenta ser una linea 
# recta o constante dado que el valor lamda es muy pequeño por lo cual la funcion exponencial decrece 
# muy lentamente; además es cercana a 0 dado que los valores que se están analizando son muy grandes