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.

Datos <- read.csv("Pozos brasil 2.csv", header = TRUE, sep = ";", dec = ",", fileEncoding = "Latin1")
str(Datos)
## 'data.frame':    29575 obs. of  59 variables:
##  $ POCO                      : chr  "7-RO-123HP-RJS" "1-BP-7-RJS" "7-ARGO-4H-ESS" "7-ARGO-5H-ESS" ...
##  $ CADASTRO                  : num  7.43e+10 7.43e+10 3.43e+10 3.43e+10 3.43e+10 ...
##  $ OPERADOR                  : chr  "Petrobras" "BP Energy" "Shell Brasil" "Shell Brasil" ...
##  $ POCO_OPERADOR             : chr  "7RO123HPRJS" "ANU" "7ARGO4HESS" "7ARGO5HESS" ...
##  $ ESTADO                    : chr  "RJ" "RJ" "ES" "ES" ...
##  $ BACIA                     : chr  "Campos" "Campos" "Campos" "Campos" ...
##  $ BLOCO                     : chr  "" "C-M-473" "" "" ...
##  $ SIG_CAMPO                 : chr  "RO   " "" "ARGO " "ARGO " ...
##  $ CAMPO                     : chr  "RONCADOR" "" "ARGONAUTA" "ARGONAUTA" ...
##  $ TERRA_MAR                 : chr  "M" "M" "M" "M" ...
##  $ POCO_POS_ANP              : chr  "S" "S" "S" "S" ...
##  $ TIPO                      : chr  "Explotatório" "Exploratório" "Explotatório" "Explotatório" ...
##  $ CATEGORIA                 : chr  "Desenvolvimento" "Pioneiro" "Desenvolvimento" "Desenvolvimento" ...
##  $ RECLASSIFICACAO           : chr  "PRODUTOR COMERCIAL DE PETRÓLEO" "PORTADOR DE PETRÓLEO" "ABANDONADO POR OUTRAS RAZÕES" "INDEFINIDO" ...
##  $ SITUACAO                  : chr  "PRODUTOR" "ABANDONADO POR LOGÍSTICA EXPLORATÓRIA" "ABANDONADO DEFINITIVAMENTE" "PRODUTOR" ...
##  $ INICIO                    : chr  "3/3/2012" "14/3/2012" "12/4/2012" "14/4/2012" ...
##  $ TERMINO                   : chr  "10/3/2013" "20/9/2012" "19/9/2012" "2/5/2013" ...
##  $ CONCLUSAO                 : chr  "10/3/2013" "19/10/2012" "28/9/2012" "13/5/2013" ...
##  $ TITULARIDADE              : chr  "Público" "Público" "Público" "Público" ...
##  $ LATITUDE_BASE_4C          : chr  "-21:57:45,630" "-23:06:09,622" "-21:08:06,801" "-21:08:12,535" ...
##  $ LONGITUDE_BASE_4C         : chr  "-39:44:01,130" "-40:00:41,295" "-39:46:53,226" "-39:46:49,296" ...
##  $ LATITUDE_BASE_DD          : num  -22 -23.1 -21.1 -21.1 -21.1 ...
##  $ LONGITUDE_BASE_DD         : num  -39.7 -40 -39.8 -39.8 -39.8 ...
##  $ DATUM_HORIZONTAL          : chr  "SIRGAS2000" "SIRGAS2000" "SIRGAS2000" "SIRGAS2000" ...
##  $ TIPO_DE_COORDENADA_DE_BASE: chr  "Definitiva" "Definitiva" "Definitiva" "Definitiva" ...
##  $ DIRECAO                   : chr  "Horizontal" "Vertical" "Horizontal" "Horizontal" ...
##  $ PROFUNDIDADE_VERTICAL_M   : num  -3145 6900 2937 2934 2953 ...
##  $ PROFUNDIDADE_SONDADOR_M   : num  4050 6925 3809 4575 4570 ...
##  $ PROFUNDIDADE_MEDIDA_M     : num  4050 6925 3809 4575 4570 ...
##  $ REFERENCIA_DE_PROFUNDIDADE: chr  "MR" "MR" "MR" "MR" ...
##  $ MESA_ROTATIVA             : num  24 25 24.2 24.2 24.2 ...
##  $ COTA_ALTIMETRICA_M        : num  0 0 0 0 0 ...
##  $ LAMINA_D_AGUA_M           : num  1827 2730 1706 1705 1654 ...
##  $ DATUM_VERTICAL            : chr  "NM" "NM" "NM" "NM" ...
##  $ UNIDADE_ESTRATIGRAFICA    : chr  "" "" "" "" ...
##  $ GEOLOGIA_GRUPO_FINAL      : chr  "Campos" "Lagoa Feia" "Campos" "Campos" ...
##  $ GEOLOGIA_FORMACAO_FINAL   : chr  "Carapebus" "Macabu" "Ubatuba" "Ubatuba" ...
##  $ GEOLOGIA_MEMBRO_FINAL     : chr  "" "" "" "" ...
##  $ CDPE                      : chr  "Existe" "Existe" "Existe" "" ...
##  $ AGP                       : chr  "" "" "" "" ...
##  $ PC                        : chr  "" "Existe" "" "" ...
##  $ PAG                       : chr  "" "" "" "" ...
##  $ PERFIS_CONVENCIONAIS      : chr  "" "Existe" "" "" ...
##  $ DURANTE_PERFURACAO        : chr  "Existe" "Existe" "Existe" "Existe" ...
##  $ PERFIS_DIGITAIS           : chr  "" "" "" "" ...
##  $ PERFIS_PROCESSADOS        : chr  "" "" "" "" ...
##  $ PERFIS_ESPECIAIS          : chr  "" "" "" "" ...
##  $ AMOSTRA_LATERAL           : chr  "" "Existe" "" "" ...
##  $ SISMICA                   : chr  "" "Existe" "" "" ...
##  $ TABELA_TEMPO_PROFUNDIDADE : chr  "" "" "" "" ...
##  $ DADOS_DIRECIONAIS         : chr  "Existe" "Existe" "Existe" "Existe" ...
##  $ TESTE_A_CABO              : chr  "Existe" "Existe" "" "" ...
##  $ TESTE_DE_FORMACAO         : chr  "" "" "" "" ...
##  $ CANHONEIO                 : chr  "" "" "" "" ...
##  $ TESTEMUNHO                : chr  "" "" "" "" ...
##  $ GEOQUIMICA                : chr  "" "" "" "" ...
##  $ SIG_SONDA                 : chr  "SS-49" "DS4" "NB2" "NB2" ...
##  $ NOM_SONDA                 : chr  "SEDCO 707" "Deep Ocean Clarion" "Bully 2" "Bully 2" ...
##  $ DHA_ATUALIZACAO           : chr  "28/1/2018 5:00" "28/1/2018 5:00" "28/1/2018 5:00" "28/1/2018 5:00" ...

2 Tabla de distribución de frecuencia

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

Geología <- Datos$GEOLOGIA_MEMBRO_FINAL
TDFGeología <- as.data.frame(table(Geología))
names(TDFGeología) <- c("Miembro", "Freq")
TDFGeología
##            Miembro  Freq
## 1                  28958
## 2          Aracaju     1
## 3          Aracajú     1
## 4          Boipeba    11
## 5           Búzios     3
## 6   Canto do Amaro     1
## 7         Capianga    50
## 8       Carmópolis     9
## 9          Caruaçu    27
## 10            Catu    39
## 11         Cazumba    11
## 12       Coqueiros    12
## 13        Estância     1
## 14          Geribá    93
## 15        Germânia     1
## 16            Gomo    50
## 17         Grussaí     9
## 18           Ibura     7
## 19       Ilha Bela    26
## 20         Itaúnas     2
## 21        Maresias     9
## 22          Mucuri    58
## 23     Oiteirinhos     7
## 24         Outeiro    19
## 25          Pedrão     2
## 26         Pitanga    11
## 27 Porto do Mangue     1
## 28        Quissamã    22
## 29          Retiro    14
## 30        Santiago     7
## 31        São Tomé     3
## 32        Sapucari     1
## 33     Sequência 3     6
## 34            Siri     7
## 35         Tamoios    81
## 36         Taquari     2
## 37         Tinharé     2
## 38           Tombo     3
## 39          Trairi     1
## 40         Upanema     7

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 absoluta global

Muestra la frecuencia absoluta considerando una escala global, lo que facilita identificar diferencias marcadas entre los grupos geológicos predominantes.

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°2: 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,
       ylim = c(0,30000))
mtext("Grupo", side = 1, line = 7)

7.3 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°3: 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)

7.4 Histograma de frecuencia relativa global

Permite observar la proporción porcentual de los grupos geológicos en una escala comparativa global, facilitando la interpretación estructural del conjunto de datos.

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°4: 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,
       ylim = c(0,100))
mtext("Grupo", side = 1, line = 7)

7.5 Diagrama circular

El diagrama circular sintetiza visualmente la composición porcentual de los grupos geológicos finales, resaltando los grupos dominantes.

library(ggplot2)
library(ggrepel)

datos_plot <- TDFGeología_2

datos_plot$ymax <- cumsum(datos_plot$hi)
datos_plot$ymin <- c(0, head(datos_plot$ymax, n = -1))
datos_plot$posicion_label <- (datos_plot$ymax + datos_plot$ymin) / 2

ggplot(datos_plot, aes(ymax = ymax, ymin = ymin,
                        xmax = 4, xmin = 2,
                        fill = Grupo)) +
  geom_rect(color = "black") +
  coord_polar(theta = "y") +
  geom_label_repel(aes(y = posicion_label,
                       x = 4,
                       label = paste0(round(hi, 2), "%")),
                   size = 4,
                   nudge_x = 0.5,
                   show.legend = FALSE) +
  scale_fill_brewer(palette = "Blues") +
  ggtitle("Gráfica N°5: Distribución porcentual de los pozos según el miembro geológico final") +
  theme_void() +
  theme(
    legend.position = "right",
    plot.title = element_text(hjust = 0),
    legend.background = element_rect(color = "black", fill = "white", linewidth = 0.5),
    legend.margin = margin(10, 10, 10, 10)
  )

8 Cuadro de conclusiones y estadísticos

Conclusiones <- data.frame(
Variable = "Grupo geológico final",
`Rango [Min; Max]` = "N/A",
`Media (X̄)` = "N/A",
`Mediana (Me)` = "N/A",
`Moda (Mo)` = "Otros",
`Varianza (S²)` = "N/A",
`Desv. Est. (S)` = "N/A",
`C.V. (%)` = "N/A",
`Asimetría (As)` = "N/A",
`Curtosis (K)` = "N/A",
`Valores Atípicos` = "N/A",
check.names = FALSE
)
library(gt)

gt(Conclusiones) %>%
tab_header(
title = md("**CONCLUSIONES Y ESTADÍSTICOS**"),
subtitle = "Resumen de Indicadores de los Grupos Geológicos Finales de los Pozos Petroleros en Brasil") %>%
tab_source_note(source_note = "Autor: Caleb Yanez") %>%
  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_options(
    table.border.top.color = "#2E4053",
    table.border.bottom.color = "#2E4053",
    column_labels.border.bottom.color = "#2E4053",
    data_row.padding = px(6))
CONCLUSIONES Y ESTADÍSTICOS
Resumen de Indicadores de los Grupos Geológicos Finales de los Pozos Petroleros en Brasil
Variable Rango [Min; Max] Media (X̄) Mediana (Me) Moda (Mo) Varianza (S²) Desv. Est. (S) C.V. (%) Asimetría (As) Curtosis (K) Valores Atípicos
Grupo geológico final N/A N/A N/A Otros N/A N/A N/A N/A N/A N/A
Autor: Caleb Yanez

9 Conclusiones

9.1 Análisis Descriptivo

El análisis descriptivo evidencia una mayor concentración de pozos en determinados grupos geológicos finales. El predominio del grupo “Otros” se debe a la presencia de múltiples miembros geológicos locales no incluidos en las categorías principales. La agrupación aplicada permitió simplificar la información y facilitar la interpretación de las frecuencias absolutas y porcentuales.