#------------------ 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 Descriptiva
# Integrantes: Jazmin Guañuna, Nayely Perugachi, Helen Taipe, Gabriela Usiña
# Fecha: 26/5/2025
# VARIABLE CUANTITATIVA CONTINUA: LONGITUD
#Carga de datos
library(readr)
Longitud_INDIA1 <- read_delim("COORDENADAS.csv",
delim = ";", escape_double = FALSE, trim_ws = TRUE)
## Rows: 39 Columns: 3
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ";"
## chr (1): Vertedero
## 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<-Longitud_INDIA1
#Extraemos la variable continua
longitud<-datos$Longitud
# Quita los NA
longitud <- na.omit(longitud)
# Verifica que sea numérico
str(longitud)
## num [1:34] 73 77.3 77.6 80.3 88.4 ...
## - attr(*, "na.action")= 'omit' int [1:5] 35 36 37 38 39
# Procedimiento Sturges
min_long <- min(longitud)
max_long <- max(longitud)
R <- max_long - min_long
k <- floor(1 + (3.3 * log10(length(longitud))))
A <- R / k
# Límites
li <- seq(from = min_long, to = max_long - A, by = A)
ls <- seq(from = min_long + A, to = max_long, by = A)
li <- round(li, 2)
ls <- round(ls, 2)
MC <- (li + ls) / 2
MC <- (li + ls) / 2
MC <- round(MC, 2) # Redondear a 2 decimales
I1 <- subset(longitud, longitud>=li[1] & longitud<ls[1])
length(I1)
## [1] 7
# Frecuencia absoluta
ni <- c()
for (i in 1:k) {
if (i == k) {
ni[i] <- length(subset(longitud, longitud >= li[i] & longitud <= ls[i]))
} else {
ni[i] <- length(subset(longitud, longitud >= li[i] & longitud < ls[i]))
}
}
# Frecuencias Relativas y Acumuladas
n <- sum(ni)
hi <- (ni / n) * 100
sum(hi)
## [1] 100
Ni_asc <- cumsum(ni)
Ni_dsc <- rev(cumsum(rev(ni)))
Hi_asc <- cumsum(hi)
Hi_dsc <- rev(cumsum(rev(hi)))
# Tabla de frecuencias
TDF_longitud <- data.frame(li, ls, MC, ni, round(hi, 2),
Ni_asc, round(Hi_asc, 2),
Ni_dsc, round(Hi_dsc, 2))
colnames(TDF_longitud) <- c("Li", "Ls", "Mc", "ni", "hi (%)",
"Ni", "Hi (%)", "Nidsc", "Hidsc (%)")
TDF_longitud
## Li Ls Mc ni hi (%) Ni Hi (%) Nidsc Hidsc (%)
## 1 70.80 74.28 72.54 7 21.21 7 21.21 33 100.00
## 2 74.28 77.76 76.02 10 30.30 17 51.52 26 78.79
## 3 77.76 81.24 79.50 9 27.27 26 78.79 16 48.48
## 4 81.24 84.72 82.98 3 9.09 29 87.88 7 21.21
## 5 84.72 88.20 86.46 2 6.06 31 93.94 4 12.12
## 6 88.20 91.68 89.94 2 6.06 33 100.00 2 6.06
# Crear Fila de Totales
totales <- c(
li= "-",
ls= "-",
MC= "-",
ni= sum(ni),
hi= sum(hi),
Ni_asc= "-",
Ni_dsc= "-",
Hi_asc= "-",
Hi_dsc= "-")
TDF_longitud_con_totales <- rbind(TDF_longitud,totales)
#Mostrar tabla final
TDF_longitud_con_totales
## Li Ls Mc ni hi (%) Ni Hi (%) Nidsc Hidsc (%)
## 1 70.8 74.28 72.54 7 21.21 7 21.21 33 100
## 2 74.28 77.76 76.02 10 30.3 17 51.52 26 78.79
## 3 77.76 81.24 79.5 9 27.27 26 78.79 16 48.48
## 4 81.24 84.72 82.98 3 9.09 29 87.88 7 21.21
## 5 84.72 88.2 86.46 2 6.06 31 93.94 4 12.12
## 6 88.2 91.68 89.94 2 6.06 33 100 2 6.06
## 7 - - - 33 100 - - - -
#Histograma
Hitograma <- hist(longitud,
breaks = seq(min(longitud), max(longitud), A),
main = "Gráfica No.86:
Distribución de la Cantidad de Longitud
en el Estudio de Residuos de la India",
xlab = "Longitud (°)",
ylab = "Cantidad",
col = "blue3")

## Procedimiento con R
Histograma_longitud <- hist(longitud,
main = "Gráfica No. 87:
Distribución de Cantidad de Longitud
en el Estudio de Residuos de la India",
xlab = "Longitud (°)",
ylab = "Cantidad",
col = "purple3")

# Limites del histograma
limites <- Histograma_longitud$breaks
liminf <- limites[-length(limites)]
limsup <- limites[-1]
MC <- Histograma_longitud$mids
ni <- Histograma_longitud$counts
# Confirmar que todos los vectores tengan la misma longitud
stopifnot(length(liminf) == length(limsup),
length(MC) == length(ni))
# Total de datos
n <- sum(ni)
# Frecuencia relativa
hi <- (ni / n) * 100
# Frecuencias acumuladas
Niasc <- cumsum(ni)
Nidsc <- rev(cumsum(rev(ni)))
Hiasc <- cumsum(hi)
Hidsc <- rev(cumsum(rev(hi)))
# Redondear
hi_r <- round(hi, 2)
Hiasc_r <- round(Hiasc, 2)
Hidsc_r <- round(Hidsc, 2)
# Tabla de frecuencias
Tabla_Longitud <- data.frame(
liminf = liminf,
limsup = limsup,
MC = MC,
ni = ni,
`hi (%)` = hi_r,
Ni = Niasc,
Nidsc = Nidsc,
`Hi (%)` = Hiasc_r,
`Hidsc (%)` = Hidsc_r
)
# Fila de totales
totales <- data.frame(
liminf = "-",
limsup = "-",
MC = "-",
ni = sum(ni),
`hi (%)` = round(sum(hi), 2),
Ni = "-",
Nidsc = "-",
`Hi (%)` = "-",
`Hidsc (%)` = "-"
)
# Combinar tabla + totales
TDF.totales <- rbind(Tabla_Longitud, totales)
# Mostrar tabla
TDF.totales
## liminf limsup MC ni hi.... Ni Nidsc Hi.... Hidsc....
## 1 70 75 72.5 9 26.47 9 34 26.47 100
## 2 75 80 77.5 15 44.12 24 25 70.59 73.53
## 3 80 85 82.5 6 17.65 30 10 88.24 29.41
## 4 85 90 87.5 3 8.82 33 4 97.06 11.76
## 5 90 95 92.5 1 2.94 34 1 100 2.94
## 6 - - - 34 100.00 - - - -
# Histograma R ni Local
Histograma<- hist(longitud,
breaks=limites,
main = "Gráfica No. 88:
Distribución de la Cantidad de Longitud
en el Estudio de Residuos de la India",
ylab = "Cantidad",
xlab = "Longitud (°)",
col = "blue3")

# Histograma R ni Global
Histograma<- hist(longitud,
breaks=limites,
main = "Gráfica No. 89:
Distribución de la Cantidad de Longitud
en el Estudio de Residuos de la India",
ylab = "Cantidad",
xlab = "Longitud (°)",
col = "purple3", ylim = c(0,length(longitud)))

# Histograma R hi Local
barplot(hi,space = 0, ylab = "Porcentaje (%)", xlab = "Longitud (°)",
names.arg = Tabla_Longitud$MC,
main = "Gráfica No. 90:
Distribución de la Cantidad de Longitud
en el Estudio de Residuos de la India",
col = "blue3")

# Histograma R hi Global
barplot(hi,space = 0, ylab = "Porcentaje (%)",xlab = "Longitud (°)",
names.arg = Tabla_Longitud$MC,
main = "Gráfica No. 91:
Distribución de la Cantidad de Longitud
en el Estudio de Residuos de la India",
ylim=c(0,100),
col = "purple3")

# DIAGRAMA DE CAJA
boxplot(longitud, horizontal=T,
col="green3",
main="Gráfica No. 92:
Diagrama de Caja de la Cantidad de Longitud
en el Estudio de Residuos de la India",
xlab= "Longitud (°)")

# OJIVAS Ni
plot(limsup,Niasc,col="blue",
main="Gráfica No. 93:
Ojivas Ascendente y Descendente de la Cantidad de Longitud
en el Estudio de Residuos de la India",
ylab = "Cantidad",
xlab="Longitud (°)",
type="o", pch=16,
xlim = c(70,95))
lines(liminf,Nidsc,col="red",type="o", pch=16)

# OJIVAS Hi
plot(limsup,Hiasc,col="blue",
main="Gráfica No. 93:
Ojivas Ascendente y Descendente del Porcentaje de Longitud
en el Estudio de Residuos de la India",
ylab = "Porcentaje (%)",
xlab="Longitud (°)",
type="o", pch=16,
ylim = c(0,100),
xlim = c(70,95))
lines(liminf,Hidsc,col="red",type="o", pch=16)

# Indicadores Estadísticos
#Tendencia Central
# Media Aritmética
X <- mean(longitud)
X
## [1] 78.28674
# Mediana
Me <- median(longitud)
Me
## [1] 77.70049
#Moda
Mo <- "[75,80]"
Mo
## [1] "[75,80]"
# Dispersión
# Varianza
Varianza <- var(longitud)
Varianza
## [1] 22.14808
# Desviación estándar
Sd <- sd(longitud)
Sd
## [1] 4.706174
# Coeficiente de variación
CV <- (sd(longitud)/X)*100
CV
## [1] 6.011458
# INDICADORES DE FORMA
install.packages("e1071")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
library(e1071)
# Coeficiente de Asimetría
As <- skewness(longitud)
As
## [1] 0.8350638
# Curtosis
K <- kurtosis(longitud)
K
## [1] 0.4228312
# Tabla de Indicadores
Variable <- "Longitud"
Rango <- "[68.74325,95.8263 ]"
Tabla_indicadores <- data.frame(Variable,Rango,round(X,3),Me,Mo,round(Sd,3),round(CV,3),round(As,3),round(K,3))
colnames(Tabla_indicadores) <- c("Variable","Rango","X", "Me", "Mo","Sd","CV","As","K")
Tabla_indicadores
## Variable Rango X Me Mo Sd CV As K
## 1 Longitud [68.74325,95.8263 ] 78.287 77.70049 [75,80] 4.706 6.011 0.835 0.423