# 1. Configurar directorio y cargar datos
setwd("/cloud/project/proyecto")
datos <- read.csv("archivo depurado nuevo 12.csv",
header = TRUE, sep = ";", dec = ".")
# Profundidad Medida
# Extraer y limpiar datos
prof_medida <- na.omit(as.numeric(datos$PROFUNDIDADE_MEDIDA_M))
## Warning in na.omit(as.numeric(datos$PROFUNDIDADE_MEDIDA_M)): NAs introduced by
## coercion
prof_medida <- prof_medida[prof_medida > 0] # Eliminar ceros o valores negativos
# Parámetros para agrupamiento: rango, número de clases (Sturges), amplitud
rango <- diff(range(prof_medida))
num_clases <- floor(1 + 3.3 * log10(length(prof_medida)))
amplitud <- rango / num_clases
# Crear límites de clases
limites_inferiores <- seq(min(prof_medida), max(prof_medida) - amplitud, by = amplitud)
limites_superiores <- c(limites_inferiores[-1], max(prof_medida))
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_medida, limites_inferiores, limites_superiores)
frecuencias_relativas <- frecuencias / length(prof_medida) * 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 Medida")
## [1] "Tabla de distribución de frecuencias para Profundidad Medida"
print(tabla_frecuencias)
## Limite_Inferior Limite_Superior Marca_Clase Frecuencia Frec_Relativa_Percent
## 1 35.00 619.08 327.04 1704 24.87
## 2 619.08 1203.15 911.12 1614 23.56
## 3 1203.15 1787.23 1495.19 732 10.68
## 4 1787.23 2371.31 2079.27 404 5.90
## 5 2371.31 2955.38 2663.35 410 5.98
## 6 2955.38 3539.46 3247.42 700 10.22
## 7 3539.46 4123.54 3831.50 517 7.55
## 8 4123.54 4707.62 4415.58 299 4.36
## 9 4707.62 5291.69 4999.65 205 2.99
## 10 5291.69 5875.77 5583.73 163 2.38
## 11 5875.77 6459.85 6167.81 75 1.09
## 12 6459.85 7043.92 6751.88 24 0.35
## 13 7043.92 7628.00 7335.96 5 0.07
## Acum_Abs_Asc Acum_Abs_Desc Acum_Rel_Asc Acum_Rel_Desc
## 1 1704 6852 24.87 100.00
## 2 3318 5148 48.42 75.13
## 3 4050 3534 59.11 51.58
## 4 4454 2802 65.00 40.89
## 5 4864 2398 70.99 35.00
## 6 5564 1988 81.20 29.01
## 7 6081 1288 88.75 18.80
## 8 6380 771 93.11 11.25
## 9 6585 472 96.10 6.89
## 10 6748 267 98.48 3.90
## 11 6823 104 99.58 1.52
## 12 6847 29 99.93 0.42
## 13 6852 5 100.00 0.07
# Histograma
hist(prof_medida,
breaks = seq(min(prof_medida), max(prof_medida), by = amplitud),
col = "darkorange",
main = "Gráfica No 03: Distribución de Profundidad Medida",
xlab = "Profundidad Medida (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 = "darkorange", pch = 19,
main = "Gráfica No 03.2: Ojiva Ascendente y Descendente de Profundidad Medida",
xlab = "Profundidad Medida (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 = "tomato", pch = 19)

# Boxplot para detectar outliers
boxplot(prof_medida, horizontal = TRUE, col = "orchid",
main = "Distribución No 03.3: Profundidad Medida (m)",
xlab = "Profundidad Medida (m)")

# Conclusion
conclusion <- "la Profundidad Medida sigue una distribución sesgada, concentrándose principalmente en las profundidades menores que va entre los valores 35 m y los 1203 m mientras que las profundidades mayores son significativamente menos comunes.
"