Análisis Probabilístico de la Composición Geológica Final en la Cuenca Brasileña `

setwd("C:/Users/Usuario/Desktop/Nueva carpeta")
library(readxl)
library(dplyr)
library(gt)
datos <- read_excel("tabela_de_pocos_janeiro_2018.xlsx")

1 Carga de librerias y de datos para estudio

Prepara las herramientas de trabajo y abre el archivo con la información de los pozos petroleros de Brasil.

2 Tabla de distribuciòn de frecuencia

Se realiza un conteo general para determinar cuántas formaciones distintas existen antes de su organización

3 Agrupación y reasignación de nombres de la formación al final del pozo

Se realiza la traducción de los nombres técnicos, la identificación de datos faltantes y la agrupación de los registros

library(dplyr)
library(forcats)

TDF_Agrupada_F <- Datos %>%
  mutate(GEOFF_Agrupado = ifelse(GEOLOGIA_FORMACAO_FINAL == "" | is.na(GEOLOGIA_FORMACAO_FINAL), 
                                 "Sin Información", 
                                 GEOLOGIA_FORMACAO_FINAL)) %>%
  mutate(GEOFF_Agrupado = recode(GEOFF_Agrupado, 
                                 "Embasamento"     = "Roca Base",
                                 "Açu"             = "Form. Açu",
                                 "Pendência"       = "Form. Pendencia",
                                 "Ubatuba"         = "Form. Ubatuba",
                                 "Sergi"           = "Form. Sergi",
                                 "Urucutuca"       = "Form. Urucutuca",
                                 "Carapebus"       = "Form. Carapebus",
                                 "Barra de Itiuba" = "Barra de Itiúba",
                                 "São Mateus"      = "Form. San Mateo")) %>%
  # Agrupamos en 4 principales + 1 "Otras" = 5 grupos en total
  mutate(GEOFF_Agrupado = fct_lump_n(GEOFF_Agrupado, n = 4, other_level = "Otras Formaciones")) %>%
  count(GEOFF_Agrupado, name = "Freq")

print(TDF_Agrupada_F)
##      GEOFF_Agrupado  Freq
## 1         Form. Açu  1133
## 2     Form. Ubatuba   257
## 3         Roca Base   748
## 4   Sin Información 24630
## 5 Otras Formaciones  2807

4 Cálculo de frecuencias por grupo

Calcula la cantidad exacta de pozos y el porcentaje que representa cada grupo sobre el total nacional.

TDF_Agrupada_F$GEOFF_Agrupado <- as.character(TDF_Agrupada_F$GEOFF_Agrupado)

TDF_Agrupada_F1<- TDF_Agrupada_F %>%
  group_by(GEOFF_Agrupado) %>%
  summarise(
    ni = sum(Freq),
    hi = round(ni / sum(TDF_Agrupada_F$Freq) * 100, 2)) %>%
  arrange(desc(ni))

TDF_Agrupada_F1 <- as.data.frame(TDF_Agrupada_F1)
TDF_Agrupada_F1
##      GEOFF_Agrupado    ni    hi
## 1   Sin Información 24630 83.28
## 2 Otras Formaciones  2807  9.49
## 3         Form. Açu  1133  3.83
## 4         Roca Base   748  2.53
## 5     Form. Ubatuba   257  0.87

5 Construcción del cuadro con totales

Calcula la cantidad exacta de pozos y el porcentaje que representa cada grupo sobre el total nacional.

TDF_Agrupada_F1$fi <- TDF_Agrupada_F1$ni / sum(TDF_Agrupada_F1$ni)
colnames(TDF_Agrupada_F1)[colnames(TDF_Agrupada_F1) == "GEOFF_Agrupado"] <- "Forma_Geo_Final"
TDF_Agrupada_F1 <- TDF_Agrupada_F1[, c("Forma_Geo_Final", "ni", "hi","fi")]
total_ni <- sum(TDF_Agrupada_F1$ni) 
total_hi <- sum((TDF_Agrupada_F1$hi))
total_fi <- sum((TDF_Agrupada_F1$fi))
TDF_Agrupada_F1.1 <- rbind(TDF_Agrupada_F1, data.frame( Forma_Geo_Final = "Total",
                                                          ni = total_ni,
                                                          hi = total_hi,
                                                          fi = total_fi))
print(TDF_Agrupada_F1.1)
##     Forma_Geo_Final    ni     hi          fi
## 1   Sin Información 24630  83.28 0.832797971
## 2 Otras Formaciones  2807   9.49 0.094911243
## 3         Form. Açu  1133   3.83 0.038309383
## 4         Roca Base   748   2.53 0.025291631
## 5     Form. Ubatuba   257   0.87 0.008689772
## 6             Total 29575 100.00 1.000000000

6 Presentación tabular

library(gt)
gt(TDF_Agrupada_F1.1) %>%
  tab_header( 
    title = md("**Tabla N°1: DISTRIBUCIÓN DE FRECUENCIAS DE POZOS PETROLEROS DE BRASIL**"), 
    subtitle = "Distibución de Formación al final del pozo de los pozos petrolíferos en  Brasil") %>%  
    tab_spanner(
    label   = md("**Frecuencia Relativa**"),
    columns = c(hi, fi)
  ) %>%
    cols_label(
    ni = md("**ni**"),
    hi = md("Porcentual (%)"),
    fi = md("Fracción")
  ) %>%
  fmt_number(columns = hi, decimals = 2) %>%
  fmt_number(columns = fi, decimals = 4) %>%
  cols_align(align = "center", columns = everything()) %>%
  tab_style(
    style     = list(cell_fill(color = "#2E4053"),
                     cell_text(color = "white", weight = "bold")),
    locations = cells_title()
  ) %>%
  tab_style(
    style     = list(cell_fill(color = "#F2F3F4"),
                     cell_text(weight = "bold", color = "#2E4053")),
    locations = cells_column_labels()
  ) %>%
  tab_style(
    style     = list(cell_fill(color = "#2E4053"),
                     cell_text(color = "white", weight = "bold")),
    locations = cells_column_spanners()
  ) %>%
  tab_style(
    style     = list(cell_fill(color = "#D5D8DC"),
                     cell_text(weight = "bold", color = "#2E4053")),
    locations = cells_body(rows = nrow(TDF_Agrupada_F1.1))
  ) %>%
  tab_options(
    table.border.top.color          = "#2E4053",
    table.border.bottom.color       = "#2E4053",
    column_labels.border.bottom.color = "#2E4053",
    data_row.padding                = px(6),
    table.font.size                 = px(13)
  )
Tabla N°1: DISTRIBUCIÓN DE FRECUENCIAS DE POZOS PETROLEROS DE BRASIL
Distibución de Formación al final del pozo de los pozos petrolíferos en Brasil
Forma_Geo_Final ni
Frecuencia Relativa
Porcentual (%) Fracción
Sin Información 24630 83.28 0.8328
Otras Formaciones 2807 9.49 0.0949
Form. Açu 1133 3.83 0.0383
Roca Base 748 2.53 0.0253
Form. Ubatuba 257 0.87 0.0087
Total 29575 100.00 1.0000

7 Gráficas

7.1 Histograma de frecuencia absoluta local

Se representan los datos numéricos mediante gráficos de barras y circulares para identificar tendencias de forma visual

TDF_Agrupada_F_g <- TDF_Agrupada_F1[TDF_Agrupada_F1$Forma_Geo_Final != "Total", ]
par(mar = c(9, 4, 4, 2))
barplot(TDF_Agrupada_F_g$ni,
        main = "Gráfica N°1: Distribución de pozos petrolíferos por Formación\nal final del pozo ",
        ylab = "Cantidad",
        col = "#263238", names.arg = TDF_Agrupada_F_g$Forma_Geo_Final,
        las = 2, cex.names = 0.8, cex.axis = 0.8, cex.main = 1)
mtext("Grupo", side = 1, line = 7)

7.2 Histograma de frecuencia relativa local

par(mar = c(9, 4, 4, 2))
barplot(TDF_Agrupada_F_g$hi,
        main = "Gráfica N°2: Distribución porcentual de pozos petrolíferos por\nFormación al final del pozo",
        ylab = "Porcentaje",
        col = "#263238", names.arg = TDF_Agrupada_F_g$Forma_Geo_Final,
        las = 2, cex.names = 0.8, cex.axis = 0.8, cex.main = 1)
        mtext("Grupo", side = 1, line = 7)

8 Modelo de Probabilidad

P_GEOFINAL <- TDF_Agrupada_F_g$ni / sum(TDF_Agrupada_F_g$ni)

par(mar = c(9, 4, 4, 2))
barplot(P_GEOFINAL,
        main = "Gráfica N°3: Distribución de Probabilidad según la Formación al final del Pozo",
        ylab = "Probabilidad",
        col = "#2E4053", names.arg = TDF_Agrupada_F_g$Forma_Geo_Final,
        las = 2, cex.names = 1, cex.axis = 0.9, cex.main = 1)
mtext("Grupo", side = 1, line = 8, adj = 0.5, cex = 1.2)

8.1 Probabilidad

¿Cuál es la probalidad de qué la Formación al Final de un pozo sea Roca Base?

x <- round(
  (TDF_Agrupada_F_g$ni[TDF_Agrupada_F_g$Forma_Geo_Final == "Roca Base"] /
   sum(TDF_Agrupada_F_g$ni)) * 100, 1)

print(paste("La probabilidad es de:", x, "%"))
## [1] "La probabilidad es de: 2.5 %"

La probabilidad de que la formación al final de un pozo petrolero sea Roca Base es del 2,5 %, lo que representa una presencia baja dentro del total de pozos analizados.

¿Cuántos pozos petroleros van a poseer una Formación al final del Pozo de Roca Madre?

p <- x / 100

n <- 1000

cantidad_esperada <- n * p
Operador_objetivo <- "Roca Madre"

cat("Para n =", n, "pozos, la cantidad esperada con Roca Madre al Final del Pozo es,", Operador_objetivo, "=", round(cantidad_esperada, 2), "\n")
## Para n = 1000 pozos, la cantidad esperada con Roca Madre al Final del Pozo es, Roca Madre = 25

Con una probabilidad estimada, se espera que de 1 000 pozos petroleros aproximadamente 25 presenten una formación final de tipo Roca Madre.