setwd("~/UCE/III/estadistica")
datos <- read.csv("Conjunto_Datos_Minerales.csv", header = TRUE, sep = ";",
dec = ".")
Latitud <- datos$latitude
# Limpieza
Latitud <- gsub("\\.", "", Latitud) # quita puntos (separador de miles)
Latitud <- gsub(",", ".", Latitud) # cambia coma decimal a punto (opcional, si aplica)
# Conversión
Latitud <- as.numeric(Latitud)
# Eliminar NA
Latitud <- na.omit(Latitud)
# Calcular número de clases usando Sturges
n <- length(Latitud)
k <- ceiling(1 + log2(n))
# Construir intervalos
limites <- seq(from = min(Latitud),
to = max(Latitud),
length.out = k + 1)
# Calcular histograma con lÃmites fijos
Histograma_Longitud <- hist(Latitud, breaks = limites,
main = "Gráfica no. 1: Distribución de cantidad de longitud",
xlab = "Longitud",
ylab = "Cantidad",
col = "pink")

# Extraer info
liminf <- limites[-length(limites)]
limsup <- limites[-1]
Mc <- Histograma_Longitud$mids
ni <- Histograma_Longitud$counts
hi_s <- (ni / sum(ni)) * 100
Ni_asc <- cumsum(ni)
Hi_asc <- cumsum(hi_s)
Ni_dsc <- rev(cumsum(rev(ni)))
Hi_dsc <- rev(cumsum(rev(hi_s)))
# Verificar longitudes
sapply(list(liminf, limsup, Mc, ni, hi_s, Ni_asc, Hi_asc, Ni_dsc, Hi_dsc), length)
## [1] 20 20 20 20 20 20 20 20 20
# Crear tabla
TDF <- data.frame(liminf, limsup, Mc, ni, hi_s, Ni_asc, Hi_asc, Ni_dsc, Hi_dsc)
print(TDF)
## liminf limsup Mc ni hi_s Ni_asc Hi_asc
## 1 -7299718.0 -4567629.2 -5933673.6 72 2.363655e-02 72 0.02363655
## 2 -4567629.2 -1835540.5 -3201584.9 9473 3.109848e+00 9545 3.13348413
## 3 -1835540.5 896548.2 -469496.1 48796 1.601901e+01 58341 19.15249842
## 4 896548.2 3628637.0 2262592.6 65848 2.161694e+01 124189 40.76943532
## 5 3628637.0 6360725.8 4994681.4 175126 5.749131e+01 299315 98.26074396
## 6 6360725.8 9092814.5 7726770.1 5297 1.738928e+00 304612 99.99967171
## 7 9092814.5 11824903.2 10458858.9 0 0.000000e+00 304612 99.99967171
## 8 11824903.2 14556992.0 13190947.6 0 0.000000e+00 304612 99.99967171
## 9 14556992.0 17289080.8 15923036.4 0 0.000000e+00 304612 99.99967171
## 10 17289080.8 20021169.5 18655125.1 0 0.000000e+00 304612 99.99967171
## 11 20021169.5 22753258.2 21387213.9 0 0.000000e+00 304612 99.99967171
## 12 22753258.2 25485347.0 24119302.6 0 0.000000e+00 304612 99.99967171
## 13 25485347.0 28217435.8 26851391.4 0 0.000000e+00 304612 99.99967171
## 14 28217435.8 30949524.5 29583480.1 0 0.000000e+00 304612 99.99967171
## 15 30949524.5 33681613.2 32315568.9 0 0.000000e+00 304612 99.99967171
## 16 33681613.2 36413702.0 35047657.6 0 0.000000e+00 304612 99.99967171
## 17 36413702.0 39145790.8 37779746.4 0 0.000000e+00 304612 99.99967171
## 18 39145790.8 41877879.5 40511835.1 0 0.000000e+00 304612 99.99967171
## 19 41877879.5 44609968.2 43243923.9 0 0.000000e+00 304612 99.99967171
## 20 44609968.2 47342057.0 45976012.6 1 3.282854e-04 304613 100.00000000
## Ni_dsc Hi_dsc
## 1 304613 1.000000e+02
## 2 304541 9.997636e+01
## 3 295068 9.686652e+01
## 4 246272 8.084750e+01
## 5 180424 5.923056e+01
## 6 5298 1.739256e+00
## 7 1 3.282854e-04
## 8 1 3.282854e-04
## 9 1 3.282854e-04
## 10 1 3.282854e-04
## 11 1 3.282854e-04
## 12 1 3.282854e-04
## 13 1 3.282854e-04
## 14 1 3.282854e-04
## 15 1 3.282854e-04
## 16 1 3.282854e-04
## 17 1 3.282854e-04
## 18 1 3.282854e-04
## 19 1 3.282854e-04
## 20 1 3.282854e-04
#Ojivas absolutas (ascendente y descendente) intersecadas
plot(limsup, Ni_asc, type = "o", col = "blue",
xlab = "Latitud",
ylab = "Frecuencia acumulada",
main = "Ojivas absolutas (ascendente y descendente)")
lines(liminf, Ni_dsc, type = "o", col = "red")

# Ojivas relativas (ascendente y descendente) intersecadas
plot(limsup, Hi_asc, type = "o", col = "blue",
xlab = "Latitud",
ylab = "Frecuencia acumulada (%)",
main = "Ojivas relativas (ascendente y descendente)")
lines(liminf, Hi_dsc, type = "o", col = "red")

# Boxplot
boxplot(Latitud,
horizontal = TRUE,
col = "lightgreen",
main = "Boxplot de la variable Latitud",
xlab = "Latitud")
