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