# 1. Configurar directorio y cargar datos
setwd("/cloud/project/proyecto")
datos <- read.csv("archivo depurado nuevo 12.csv",
header = TRUE, sep = ";", dec = ".")
# Pronfundidad vertical
# Extraer y limpiar datos
prof_vertical <- na.omit(as.numeric(datos$PROFUNDIDADE_VERTICAL_M))
## Warning in na.omit(as.numeric(datos$PROFUNDIDADE_VERTICAL_M)): NAs introduced
## by coercion
prof_vertical <- prof_vertical[prof_vertical > 0]
# Parámetros para agrupamiento: rango, número de clases (Sturges), amplitud
rango <- diff(range(prof_vertical))
num_clases <- floor(1 + 3.3 * log10(length(prof_vertical)))
amplitud <- rango / num_clases
# Crear límites de clases
limites_inferiores <- seq(min(prof_vertical), max(prof_vertical) - amplitud, by = amplitud)
limites_superiores <- c(limites_inferiores[-1], max(prof_vertical))
marcas_clase <- (limites_inferiores + limites_superiores) / 2
# Función para calcular frecuencias absolutas
calc_frecuencias <- function(datos, lim_inf, lim_sup) {
sapply(seq_along(lim_inf), function(i) {
if(i == length(lim_inf)) {
sum(datos >= lim_inf[i] & datos <= lim_sup[i])
} else {
sum(datos >= lim_inf[i] & datos < lim_sup[i])
}
})
}
frecuencias <- calc_frecuencias(prof_vertical, limites_inferiores, limites_superiores)
frecuencias_relativas <- frecuencias / length(prof_vertical) * 100
# Frecuencias acumuladas
freq_acum_asc <- cumsum(frecuencias)
freq_acum_desc <- rev(cumsum(rev(frecuencias)))
freq_rel_acum_asc <- cumsum(frecuencias_relativas)
freq_rel_acum_desc <- rev(cumsum(rev(frecuencias_relativas)))
# Construcción del data.frame resumen
tabla_frecuencias <- data.frame(
Limite_Inferior = round(limites_inferiores, 2),
Limite_Superior = round(limites_superiores, 2),
Marca_Clase = round(marcas_clase, 2),
Frecuencia = frecuencias,
Frec_Relativa_Percent = round(frecuencias_relativas, 2),
Acum_Abs_Asc = freq_acum_asc,
Acum_Abs_Desc = freq_acum_desc,
Acum_Rel_Asc = round(freq_rel_acum_asc, 2),
Acum_Rel_Desc = round(freq_rel_acum_desc, 2)
)
print("Tabla de distribución de frecuencias para Profundidad Vertical")
## [1] "Tabla de distribución de frecuencias para Profundidad Vertical"
print(tabla_frecuencias)
## Limite_Inferior Limite_Superior Marca_Clase Frecuencia Frec_Relativa_Percent
## 1 4.00 2901.82 1452.91 1297 81.32
## 2 2901.82 5799.64 4350.73 275 17.24
## 3 5799.64 8697.45 7248.55 21 1.32
## 4 8697.45 11595.27 10146.36 0 0.00
## 5 11595.27 14493.09 13044.18 0 0.00
## 6 14493.09 17390.91 15942.00 0 0.00
## 7 17390.91 20288.73 18839.82 0 0.00
## 8 20288.73 23186.55 21737.64 0 0.00
## 9 23186.55 26084.36 24635.45 0 0.00
## 10 26084.36 28982.18 27533.27 1 0.06
## 11 28982.18 31880.00 30431.09 1 0.06
## Acum_Abs_Asc Acum_Abs_Desc Acum_Rel_Asc Acum_Rel_Desc
## 1 1297 1595 81.32 100.00
## 2 1572 298 98.56 18.68
## 3 1593 23 99.87 1.44
## 4 1593 2 99.87 0.13
## 5 1593 2 99.87 0.13
## 6 1593 2 99.87 0.13
## 7 1593 2 99.87 0.13
## 8 1593 2 99.87 0.13
## 9 1593 2 99.87 0.13
## 10 1594 2 99.94 0.13
## 11 1595 1 100.00 0.06
# Histograma
hist(prof_vertical,
breaks = seq(min(prof_vertical), max(prof_vertical), by = amplitud),
col = "steelblue",
main = "Gráfica No 04: Distribución de Profundidad Vertical",
xlab = "Profundidad Vertical (m)",
ylab = "Cantidad")

# Ojivas ascendentes y descendentes
x_asc <- c(min(limites_inferiores), limites_superiores)
y_asc <- c(0, freq_acum_asc)
x_desc <- c(limites_inferiores, max(limites_superiores))
y_desc <- c(freq_acum_desc, 0)
plot(x_asc, y_asc, type = "b", col = "steelblue", pch = 19,
main = "Gráfica No 04.2: Ojiva Ascendente y Descendente de Profundidad Vertical",
xlab = "Profundidad Vertical (m)",
ylab = "Cantidad",
xlim = range(c(x_asc, x_desc)),
ylim = c(0, max(c(y_asc, y_desc))))
lines(x_desc, y_desc, type = "b", col = "firebrick", pch = 19)

# Boxplot para detectar outliers
boxplot(prof_vertical, horizontal = TRUE, col = "violet",
main = "Distribución No 04.3: Profundidad Vertical (m)",
xlab = "Profundidad Vertical (m)")

# Conclusion
conclusion <- "Profundidad Vertical muestran una clara concentración de mediciones en las profundidades mayores, con más del 81% de las observaciones situadas entre los 4 m y 2901.82 m"