Distribución Probabilística de Geología Miembro Final

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 Datos

Se importa la base de datos y se verifica la estructura de las variables.

2 Tabla de distribución de frecuencia

Se calcula la frecuencia absoluta del miembro geológico final.

3 Agrupación geológica

Se reclasifican los miembros geológicos en macrogrupos ambientales.

library(dplyr)
TDFGeología$Grupo <- ifelse(
  TDFGeología$Miembro %in% c(
    "Aracaju", "Aracajú", "Carmópolis", "Estância", "Catu", 
    "Pedrão", "Ibura", "Retiro"
  ), "Continental",
  ifelse(
    TDFGeología$Miembro %in% c(
      "Búzios", "Geribá", "Maresias", "Itaúnas", 
      "Tombo", "Grussaí", "Siri", "Santiago"
    ), "Litoral marino",
    ifelse(
      TDFGeología$Miembro %in% c(
        "Ilha Bela", "Tinharé", "Boipeba", 
        "Tamoios", "Outeiro", "Coqueiros"
      ), "Insular–costero",
      ifelse(
        TDFGeología$Miembro %in% c(
          "Mucuri", "Quissamã", "Trairi", 
          "Porto do Mangue", "Upanema", "Oiteirinhos"
        ), "Fluvio–deltaico",
        ifelse(
          TDFGeología$Miembro %in% c(
            "Capianga", "Gomo", "Germânia", "Sapucari",
            "Caruaçu", "Pitanga", "Cazumba", 
            "Taquari", "São Tomé", "Sequência 3"
          ), "Mixto / local", "Otros")))))

head(TDFGeología$Grupo)
## [1] "Otros"           "Continental"     "Continental"     "Insular–costero"
## [5] "Litoral marino"  "Otros"

4 Cálculo de frecuencias por grupo

Se obtienen las frecuencias absoluta (ni) y relativa (hi) por grupo.

TDFGeología$Freq <- as.numeric(TDFGeología$Freq)

TDFGeología_ <- TDFGeología %>%
  group_by(Grupo) %>%
  summarise(
    ni = sum(Freq),
    hi = round(ni / sum(TDFGeología$Freq) * 100, 2))

TDFGeología_ <- as.data.frame(TDFGeología_)
TDFGeología_
##             Grupo    ni    hi
## 1     Continental    74  0.25
## 2 Fluvio–deltaico    96  0.32
## 3 Insular–costero   151  0.51
## 4  Litoral marino   133  0.45
## 5   Mixto / local   162  0.55
## 6           Otros 28959 97.92

5 Construcción del cuadro con totales

Se añaden los totales para validar la consistencia estadística.

TDFGeología_$fi <- TDFGeología_$ni / sum(TDFGeología_$ni)
TDFGeología_ <- TDFGeología_ [, c("Grupo", "ni", "hi","fi")]
total_ni <- sum(TDFGeología_$ni) 
total_hi <- 100
total_fi <- sum(TDFGeología_$fi)
TDFGeología_1 <- rbind(TDFGeología_, data.frame( Grupo = "Total",
                                                          ni = total_ni,
                                                          hi = total_hi,
                                                          fi = total_fi))
print(TDFGeología_1)
##             Grupo    ni     hi          fi
## 1     Continental    74   0.25 0.002502113
## 2 Fluvio–deltaico    96   0.32 0.003245985
## 3 Insular–costero   151   0.51 0.005105664
## 4  Litoral marino   133   0.45 0.004497041
## 5   Mixto / local   162   0.55 0.005477599
## 6           Otros 28959  97.92 0.979171598
## 7           Total 29575 100.00 1.000000000

6 Presentación tabular con formato

Se presenta la tabla final con formato académico.

library(gt)
gt(TDFGeología_1) %>%
  tab_header( 
    title = md("**Tabla N°1: DISTRIBUCIÓN DE FRECUENCIAS DE POZOS PETROLEROS DE BRASIL**"), 
    subtitle = "Distibución de los mienbros geologícos finales 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(TDFGeología_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 los mienbros geologícos finales de los pozos petrolíferos en Brasil
Grupo ni
Frecuencia Relativa
Porcentual (%) Fracción
Continental 74 0.25 0.0025
Fluvio–deltaico 96 0.32 0.0032
Insular–costero 151 0.51 0.0051
Litoral marino 133 0.45 0.0045
Mixto / local 162 0.55 0.0055
Otros 28959 97.92 0.9792
Total 29575 100.00 1.0000

7 Gráficas

7.1 Histograma de frecuencia absoluta local

Representa la frecuencia absoluta de pozos por grupo geológico, permitiendo comparar la magnitud relativa de cada unidad dentro del análisis local.

TDFGeología_2 <- TDFGeología_1[TDFGeología_1$Grupo != "Total", ]
par(mar = c(9, 4, 4, 2))
barplot(TDFGeología_2$ni,
        main = "Gráfica N°1: Distribución en cantidad de pozos según el miembro geológico final",
        ylab = "Cantidad",
        col = "#263238", names.arg = TDFGeología_2$Grupo,
        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

Ilustra la participación porcentual de cada grupo geológico, destacando su peso relativo dentro del conjunto de pozos analizados.

TDFGeología_2 <- TDFGeología_1[TDFGeología_1$Grupo != "Total", ]
par(mar = c(9, 4, 4, 2))
barplot(TDFGeología_2$hi,
        main = "Gráfica N°2: Distribución en porcentaje de pozos según el miembro geológico final",
        ylab = "Porcentaje",
        col = "#263238", names.arg = TDFGeología_2$Grupo,
        las = 2, cex.names = 0.8, cex.axis = 0.8, cex.main = 1)
mtext("Grupo", side = 1, line = 7)

8 Modelo de Probabilidad

P_GEO2 <- TDFGeología_2$ni / sum(TDFGeología_2$ni)

par(mar = c(9, 4, 4, 2))
barplot(P_GEO2,
        main = "Gráfica N°3: Distribución de Probabilidad según el miembro geológico final",
        ylab = "Probabilidad",
        col = "#2E4053", names.arg = TDFGeología_2$Grupo,
        las = 2, cex.names = 0.8, cex.axis = 0.8, 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é el Miembro Geológico Final sea Continental?

x <- round(
  (TDFGeología_2$ni[TDFGeología_2$Grupo == "Continental"] /
   sum(TDFGeología_2$ni)) * 100, 1)

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

La probabilidad de que el Miembro Geológico Final de un pozo petrolero sea Continental es del 0,3 %, lo que representa una presencia muy baja dentro del total analizado.

¿Cuántos pozos petroleros pueden poseer un Miembro Geológico Final Continental?

p <- x / 100

n <- 1000

cantidad_esperada <- n * p
Operador_objetivo <- "Continental"

cat("Para n =", n, "pozos, la cantidad esperada de Miembro Geológico Final Continental es,", Operador_objetivo, "=", round(cantidad_esperada, 2), "\n")
## Para n = 1000 pozos, la cantidad esperada de Miembro Geológico Final Continental es, Continental = 3

Con una probabilidad estimada, se espera que de 1 000 pozos petroleros aproximadamente 3 presenten un Miembro Geológico Final de tipo Continental.