#------------------ UNIVERSIDAD CENTRAL DEL ECUADOR
##-----Facultad 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 Inferencial
# Integrantes: Jazmin Guañuna, Nayely Perugachi, Helen Taipe, Gabriela Usiña
# Fecha: 15/07/2025
#VARIABLE CUANTITATIVA CONTINUA:LATITUD
#Extraemos los datos
library(readr)
Latitud_INDIA1 <- read_delim("Latitud INDIA1.csv",
delim = ";", escape_double = FALSE, trim_ws = TRUE)
## Rows: 850 Columns: 3
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ";"
## chr (1): NOMBRE
## dbl (1): LONGITUD
## num (1): LATITUD
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
datos<-Latitud_INDIA1
#Extraemos la variable continua
latitud<-datos$LATITUD
histograma<-hist(latitud,freq=FALSE,
main = "Gráfica No.108 :Distribución de Probabilidad de
Latitud de Vertederos en la India ",
xlab = "Latitud (°)",
ylab = "Densidad de probabilidad",
col = "orange3")

limites<-histograma$breaks
limites
## [1] 8 10 12 14 16 18 20 22 24 26 28 30 32
#Agrupamos
lat1<-latitud[latitud >= 8 & latitud <= 16]
Histolat1 <- hist(lat1,
breaks = seq(min(lat1), max(lat1), length.out = 5),
freq = F,
main = "Gráfica No.109 :Distribución de Probabilidad de Latitud de Vertederos
en el intervalo de 8 a 16 grados decimales",
xlab = "Latitud (°)",
ylab = "Densidad de probabilidad",
col = "skyblue3")
#Cojetura del modelo
#Uniforme
a <- min(lat1)
b <- max(lat1)
x <- seq(a, b, 0.01)
y <- dunif(x, min=a, max=b)
lines(x, y, col="red", lwd=2)

#Tests
FO <- Histolat1$counts
FO
## [1] 25 25 25 50
P <- c()
FE <- c()
for (i in 1:4) {
P[i] <- punif(Histolat1$breaks[i+1],a, b)-
punif(Histolat1$breaks[i], a, b)
FE[i] <- P[i]*length(lat1)
}
FE
## [1] 31.25 31.25 31.25 31.25
correlacion<-cor(FO, FE)*100
correlacion
## [1] 39.6059
###CHI-CUADRADO###
x2<-sum((FE-FO)^2/FE)
x2
## [1] 15
#Valor crítico
grados_libertad1 <- length(lat1)-1
grados_libertad1
## [1] 124
vc<-qchisq(0.95,grados_libertad1)
vc
## [1] 150.9894
x2<vc
## [1] TRUE
#Cálculo de probabilidades
"¿Cuál es la probailidad de que un vertedero de la India se encuentre ubicado
entre 9° y 12° de latitud? "
## [1] "¿Cuál es la probailidad de que un vertedero de la India se encuentre ubicado \nentre 9° y 12° de latitud? "
pvertedero9y12<- punif(12,a,b)-punif(9,a,b)
pvertedero9y12
## [1] 0.6537895
#La probabilidad es de 65.37%
##################################################
# Segundo subconjunto: latitudes mayores a 16
lat2 <- latitud[latitud > 16]
#Gráfica
Histolat2 <- hist(lat2,
breaks = seq(min(lat2), max(lat2), length.out = 5),
freq = F,
main = "Gráfica No.110 :Distribución de Probabilidad de Latitud de Vertederos
en el intervalo de 16 a 32 grados decimales ",
xlab = "Latitud (°)",
ylab = "Densidad de probabilidad",
col = "skyblue4",
ylim=c(0,0.12))

#Conjetura del modelo normal:Cálculo de parámetros
u<-mean(lat2) #media aritmética
sigma<-sd(lat2) #desviación estandar
#Sobreponemos la curva normal
x<-seq(min(lat2),max(lat2),0.01)
Histolat2 <- hist(lat2,
breaks = seq(min(lat2), max(lat2), length.out = 5),
freq = F,
main = "Gráfica No.111 :Comparación de la Realidad y el Modelo de la Latitud
del Estudio de Residuos de la India",
xlab = "Latitud (°)",
ylab = "Densidad de probabilidad",
col = "skyblue4",
ylim=c(0,0.12))
curve(dnorm(x,u,sigma),type="l",add=TRUE,lwd=4,col="red")

#Tests
####PEARSON####
#Frecuencia observada
FO<-Histolat2$counts
FO
## [1] 125 250 250 100
h<-length(Histolat2$counts)
P<-c(0)
for (i in 1:h) {
P[i] <-(pnorm(Histolat2$breaks[i+1],u,sigma)-
pnorm(Histolat2$breaks[i],u,sigma))}
#Frecuencia esperada
FE<-P*length(lat2)
plot(FO,FE,main="Gráfica No.112:Correlación entre la frecuencia observada y la
frecuencia esperada en el Modelo Normal ",
xlab="Frecuencia Observada(FO)",
ylab="Frecuencia Esperada(FE)",col="blue3")
abline(lm(FE ~ FO), col="red",lwd=2)

Correlación<-cor(FO,FE)*100
Correlación
## [1] 99.4895
###CHI-CUADRADO###
#Frecuencia Observada porcentual
FO<-(Histolat2$counts/length(latitud))*100
FO
## [1] 14.70588 29.41176 29.41176 11.76471
#Frecuencia esperada
FE<-P*100
FE
## [1] 15.71734 34.85759 32.03907 12.19771
x2<-sum((FE-FO)^2/FE)
x2
## [1] 1.146714
#Valor crítico
grados_libertad <- length(lat2)-1
grados_libertad
## [1] 724
vc<-qchisq(0.95,grados_libertad) #valor de confianza=0.95
vc
## [1] 787.7072
x2<vc
## [1] TRUE
#Intervalos de confianza
x<-mean(latitud)
n<-length(latitud)
cs<-sd(latitud) #cuasidesviación
LiminfIC<-x-(2*(cs/sqrt(n)))
LiminfIC
## [1] 21.82908
LimsupIC<-x+(2*(cs/sqrt(n)))
LimsupIC
## [1] 22.61783
#P(21.82908<u<22.61783)=95%
#Cálculo de probabilidades
"¿Cuál es la probailidad de que un vertedero de la India se encuentre ubicado
entre 20° y 26° de latitud? "
## [1] "¿Cuál es la probailidad de que un vertedero de la India se encuentre ubicado \nentre 20° y 26° de latitud? "
pvertedero20y26<-pnorm(26,u,sigma)-pnorm(20,u,sigma)
pvertedero20y26
## [1] 0.566728
#La probablidad es de 56,67%
u <- mean(lat2, na.rm = TRUE)
sigma <- sd(lat2, na.rm = TRUE)
x <- seq(min(lat2, na.rm = TRUE), max(lat2, na.rm = TRUE), length.out = 1000)
plot(x, dnorm(x, u, sigma), type = "l",
col = "skyblue3", lwd = 2,
xlim = c(18, 32),
ylim = c(0, max(dnorm(x,u, sigma))),
main = "Gráfica No.113 :Cálculo de probabilidad de la Latitud en el Estudio
de Residuos de la India",
xlab = "Latitud (°)", ylab = "Densidad de probabilidad", xaxt = "n")
axis(1, at = seq(18, 32, by = 2), las = 2)
# Definir el rango de la sección que quieres pintar
x_section <- seq(20,26, 0.001)
y_section <- dnorm(x_section, u,sigma)
# Pintar la sección de la curva
lines(x_section, y_section, col = "red", lwd = 2)
# Pintar el área debajo de la línea roja
polygon(c(x_section, rev(x_section)), c(y_section, rep(0, length(y_section))),
col = rgb(1, 0, 0, 0.6))
# Añadir leyenda
legend("topright",cex = 0.6, legend = c("Modelo", "Área de Probabilidad"),
col = c("skyblue3",
"red"), lwd = 1, pch = c(NA, 15))

#Conclusiones
tabla_modelos_1 <- data.frame("Latitud" = c("[16, 32]", ""),
"Modelo" = c("Normal", ""),
"Parametros" = c("u = 24.13 ", "sigma= 3.64")
,"Test_de_Pearson (%)" = c("99.48", ""),
"Test_de_Chi_cuadrado" = c("Aprobado", ""))
colnames(tabla_modelos_1) <- c("Latitud", "Modelo",
"Parámetros","Test Pearson (%)",
"Test Chi-cuadrado")
tabla_modelos_1
## Latitud Modelo Parámetros Test Pearson (%) Test Chi-cuadrado
## 1 [16, 32] Normal u = 24.13 99.48 Aprobado
## 2 sigma= 3.64
library(knitr)
kable(tabla_modelos_1, align = 'c', caption = "Tabla 1.Conclusiones del Modelo Normal para Latitud")
Tabla 1.Conclusiones del Modelo Normal para Latitud
| [16, 32] |
Normal |
u = 24.13 |
99.48 |
Aprobado |
|
|
sigma= 3.64 |
|
|
tabla_confianza <- data.frame("Intervalo_confianza" = c("Limite Inferior", "Limite Superior"),
"Grado_confianza" = c("95%",""),
"Latitud"=c("21.82","22.61"))
colnames(tabla_confianza) <- c("Intervalo de confianza", "Grado de confianza(%)",
"Latitud")
tabla_confianza
## Intervalo de confianza Grado de confianza(%) Latitud
## 1 Limite Inferior 95% 21.82
## 2 Limite Superior 22.61
kable(tabla_confianza, align = 'c', caption = "Tabla 2.Intervalos de Confianza de la Media Poblacional")
Tabla 2.Intervalos de Confianza de la Media
Poblacional
| Limite Inferior |
95% |
21.82 |
| Limite Superior |
|
22.61 |