# 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.

"