setwd("/cloud/project/datos")
datos <- read.csv("Petroleo_Ontaro.csv", header=T, dec=".", sep=";")

c_profundidad <- datos$TOTAL_DEPTH
c_profundidad_sin_na <- na.omit(c_profundidad)

if(length(c_profundidad_sin_na) == 0) {
  stop("La columna 'TOTAL_DEPTH' no tiene datos válidos.")
}

n <- length(c_profundidad_sin_na)
print(n)
## [1] 24470
k <- 1 + (3.3 * log10(n))
k <- floor(k)
print(k)
## [1] 15
min_valor <- min(c_profundidad_sin_na)
max_valor <- max(c_profundidad_sin_na)

if (!is.finite(min_valor) | !is.finite(max_valor)) {
  stop("Los valores de min o max no son finitos.")
}

R <- max_valor - min_valor
A <- R / k

if (A <= 0) {
  stop("El valor de A es menor o igual a cero, lo cual no es válido.")
}

Li <- round(seq(from = min_valor, to = max_valor - A, by = A), 4)
Ls <- round(seq(from = min_valor + A, to = max_valor, by = A), 4)

Mc <- round((Li + Ls) / 2, 2)
Mc
##  [1]  167.99  501.23  834.48 1167.72 1500.96 1834.20 2167.44 2500.68 2833.93
## [10] 3167.17 3500.41 3833.65 4166.89 4500.14 4833.38
ni <- numeric(length(Li))
for(i in 1:length(Li)) {
  ni[i] <- sum(c_profundidad_sin_na >= Li[i] & c_profundidad_sin_na < Ls[i])
}
ni[length(Li)] <- sum(c_profundidad_sin_na >= Li[length(Li)] & c_profundidad_sin_na <= max_valor)
ni
##  [1] 14398  7235  1973   738    58    33    15     5     3     5     3     1
## [13]     1     0     2
hi <- ni / sum(ni)
sum(hi)
## [1] 1
hi_porc <- hi * 100
sum(hi_porc)
## [1] 100
Ni_asc <- cumsum(ni)
Ni_dsc <- rev(cumsum(ni))  # Asegúrate de que las frecuencias descendentes estén correctamente calculadas
Hi_asc <- round(cumsum(hi_porc), 2)
Hi_dsc <- round(rev(cumsum(hi_porc)), 2)

TDFc_profundidad <- data.frame(Li, Ls, Mc, ni, hi_porc, Ni_asc, Ni_dsc, Hi_asc, Hi_dsc)
TDFc_profundidad
##          Li       Ls      Mc    ni      hi_porc Ni_asc Ni_dsc Hi_asc Hi_dsc
## 1     1.370  334.612  167.99 14398 58.839395178  14398  24470  58.84 100.00
## 2   334.612  667.854  501.23  7235 29.566816510  21633  24468  88.41  99.99
## 3   667.854 1001.096  834.48  1973  8.062934205  23606  24468  96.47  99.99
## 4  1001.096 1334.338 1167.72   738  3.015937883  24344  24467  99.49  99.99
## 5  1334.338 1667.580 1500.96    58  0.237024928  24402  24466  99.72  99.98
## 6  1667.580 2000.822 1834.20    33  0.134859011  24435  24463  99.86  99.97
## 7  2000.822 2334.064 2167.44    15  0.061299550  24450  24458  99.92  99.95
## 8  2334.064 2667.306 2500.68     5  0.020433183  24455  24455  99.94  99.94
## 9  2667.306 3000.548 2833.93     3  0.012259910  24458  24450  99.95  99.92
## 10 3000.548 3333.790 3167.17     5  0.020433183  24463  24435  99.97  99.86
## 11 3333.790 3667.032 3500.41     3  0.012259910  24466  24402  99.98  99.72
## 12 3667.032 4000.274 3833.65     1  0.004086637  24467  24344  99.99  99.49
## 13 4000.274 4333.516 4166.89     1  0.004086637  24468  23606  99.99  96.47
## 14 4333.516 4666.758 4500.14     0  0.000000000  24468  21633  99.99  88.41
## 15 4666.758 5000.000 4833.38     2  0.008173273  24470  14398 100.00  58.84
colnames(TDFc_profundidad)[colnames(TDFc_profundidad) == "hi_porc"] <- "hi"
names(TDFc_profundidad)
## [1] "Li"     "Ls"     "Mc"     "ni"     "hi"     "Ni_asc" "Ni_dsc" "Hi_asc"
## [9] "Hi_dsc"
hist(c_profundidad_sin_na,
     breaks = seq(min(c_profundidad_sin_na), max(c_profundidad_sin_na), by = A),
     col = "#4EEE94",
     main = "Gráfica No5.01: Distribución de Profundidad Total del Pozo",
     xlab = "Profundidad de Pozo",
     ylab = "Cantidad"
)

x_asc <- c(min(Li), Ls)
y_asc <- c(0, Ni_asc)

x_dsc <- c(Li, max(Li))
y_dsc <- c(Ni_dsc, 0)

plot(x_asc, y_asc, type = "b", col = "#836FFF", pch = 19,
     main = "Gráfica No5.02: Distribución de Profundidad Total del Pozo",
     xlab = "Profundidad de Pozo",
     ylab = "Cantidad",
     xlim = range(c(x_asc, x_dsc)),
     ylim = c(0, max(c(y_asc, y_dsc))))

lines(x_dsc, y_dsc, type = "b", col = "#EE7942", pch = 19)

boxplot(c_profundidad_sin_na, horizontal = T, col = "#FFDAB9",
        main = "Gráfica No5.03: Distribución de Profundidad Total del Pozo",
        xlab = "Profundidad de Pozo")

# Conclusion

conclusion <-"El comportamiento de la profundidad alcanzada en el pozo fluctúan entre [1.37, 5000] y los valores se encuentran entorno a 301.75, con una desviación estándar de 273.6755 siendo un conjunto de valores muy heterogéneos donde los valores se agrupan en la parte izquierda de la variable y tiene un sesgo positivo con existencia de valores atípicos a partir de 1000."