Grupos Geológicos

1 Carga de datos

Se importan los datos originales de pozos petrolíferos y se verifica la estructura de las variables para garantizar su correcta lectura.

setwd("C:/Users/majke/Downloads/Proyecto Estadistica/RMARKDOWN")
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  "03/03/2012" "14/03/2012" "12/04/2012" "14/04/2012" ...
##  $ TERMINO                   : chr  "10/03/2013" "20/09/2012" "19/09/2012" "02/05/2013" ...
##  $ CONCLUSAO                 : chr  "10/03/2013" "19/10/2012" "28/09/2012" "13/05/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/18 5:00" "28/1/18 5:00" "28/1/18 5:00" "28/1/18 5:00" ...

2 Tabla de distribución de frecuencia

Se construye la tabla de frecuencias absolutas de la variable Geología grupo final, identificando la presencia de cada unidad geológica.

Grupos_Finales <- Datos$GEOLOGIA_GRUPO_FINAL
TDFGrupos_Finales <- as.data.frame(table(Grupos_Finales))
names(TDFGrupos_Finales) <- c("Geologia", "Freq")
TDFGrupos_Finales
##              Geologia  Freq
## 1                     25521
## 2           Afligidos    17
## 3              Agulha     7
## 4              Almada     6
## 5               Apodi  1144
## 6        Areia Branca   272
## 7              Balsas     3
## 8              Bambuí     1
## 9          Barra Nova    94
## 10             Brotas   291
## 11             Camamu     4
## 12            Camburi    33
## 13             Campos   533
## 14            Canindé    95
## 15           Coruripe   210
## 16              Curuá     6
## 17          Espinhaço    13
## 18     Espírito Santo   166
## 19           Estância     2
## 20              Frade    82
## 21          Guaratiba   207
## 22 Humberto de Campos     4
## 23        Igreja Nova     3
## 24              Ilhas    66
## 25         Itamambuca    47
## 26            Itararé     7
## 27            Jangada     1
## 28         Lagoa Feia    95
## 29              Macaé    79
## 30           Macaúbas     2
## 31           Marimari    11
## 32          Massacará     8
## 33             Nativo   101
## 34               Pará     1
## 35             Paraná     1
## 36            Paranoá    19
## 37           Perucaba    37
## 38          Piaçabuçu    54
## 39              Purus     9
## 40       Rio do Peixe     2
## 41           Rio Ivaí     1
## 42        Santo Amaro   233
## 43            Sergipe    18
## 44       Serra Grande     6
## 45               Tefé    58
## 46          Trombetas     2
## 47            Urupadi     3

3 Agrupación geológica

Las unidades geológicas se reclasifican en grupos mayores según su naturaleza geológica, reduciendo la dispersión categórica sin pérdida de información.

library(dplyr)
## 
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
TDFGrupos_Finales$Grupo_Geologico <- ifelse(
  TDFGrupos_Finales$Geologia %in% c(
    "Apodi","Campos","Camamu","Espírito Santo","Sergipe","Lagoa Feia",
    "Macaé","Guaratiba","Almada","Humberto de Campos","Balsas",
    "Coruripe","Santo Amaro","Frade","Nativo","Perucaba","Areia Branca",
    "Canindé","Marimari","Estância","Massacará","Brotas"
  ), "Cuencas sedimentarias",

  ifelse(TDFGrupos_Finales$Geologia %in% c(
    "Bambuí","Itararé","Serra Grande","Paranoá","Macaúbas"
  ), "Formaciones",

  ifelse(TDFGrupos_Finales$Geologia %in% c(
    "Espinhaço"
  ), "Provincias",

  ifelse(TDFGrupos_Finales$Geologia %in% c(
    "Barra Nova","Camburi","Itamambuca","Ilhas","Piaçabuçu"
  ), "Ambientes costeros",

  ifelse(TDFGrupos_Finales$Geologia %in% c(
    "Purus","Tefé","Trombetas","Rio do Peixe","Rio Ivaí","Urupadi"
  ), "Sistemas fluviales",

  ifelse(TDFGrupos_Finales$Geologia %in% c(
    "Pará","Paraná"
  ), "Regiones administrativas",
  
  "Otros/Locales"
))))))

head(TDFGrupos_Finales)
##       Geologia  Freq       Grupo_Geologico
## 1              25521         Otros/Locales
## 2    Afligidos    17         Otros/Locales
## 3       Agulha     7         Otros/Locales
## 4       Almada     6 Cuencas sedimentarias
## 5        Apodi  1144 Cuencas sedimentarias
## 6 Areia Branca   272 Cuencas sedimentarias

4 Cálculo de frecuencias por grupo

Se calculan la frecuencia absoluta (ni) y la frecuencia relativa (hi) para cada grupo geológico, permitiendo el análisis comparativo.

TDFGrupos_Finales$Freq <- as.numeric(TDFGrupos_Finales$Freq)

TDFGrupos_Finales1 <- TDFGrupos_Finales %>%
  group_by(Grupo_Geologico) %>%
  summarise(
    ni = sum(Freq),
    hi = round(ni / sum(TDFGrupos_Finales$Freq) * 100, 2))

TDFGrupos_Finales1 <- as.data.frame(TDFGrupos_Finales1)
TDFGrupos_Finales1
##            Grupo_Geologico    ni    hi
## 1       Ambientes costeros   294  0.99
## 2    Cuencas sedimentarias  3601 12.18
## 3              Formaciones    35  0.12
## 4            Otros/Locales 25555 86.41
## 5               Provincias    13  0.04
## 6 Regiones administrativas     2  0.01
## 7       Sistemas fluviales    75  0.25

5 Construcción del cuadro con totales

Se incorpora una fila de totales para verificar la consistencia de los resultados y confirmar el 100 % de participación relativa.

TDFGrupos_Finales1 <- TDFGrupos_Finales1 [, c("Grupo_Geologico", "ni", "hi")]
total_ni <- sum(TDFGrupos_Finales1$ni) 
total_hi <- 100
TDFGrupos_Finales1.1 <- rbind(TDFGrupos_Finales1, data.frame( Grupo_Geologico = "Total",
                                                          ni = total_ni,
                                                          hi = total_hi))
print(TDFGrupos_Finales1.1)
##            Grupo_Geologico    ni     hi
## 1       Ambientes costeros   294   0.99
## 2    Cuencas sedimentarias  3601  12.18
## 3              Formaciones    35   0.12
## 4            Otros/Locales 25555  86.41
## 5               Provincias    13   0.04
## 6 Regiones administrativas     2   0.01
## 7       Sistemas fluviales    75   0.25
## 8                    Total 29575 100.00

6 Presentación tabular con formato

Los resultados se presentan en una tabla estadística formateada, facilitando la lectura e interpretación de las frecuencias.

library(gt)
gt(TDFGrupos_Finales1.1) %>%
  tab_header( 
    title = md("**Cuadro No.1**"), 
    subtitle = "Distibución de grupos geológicos de los pozos petrolíferos en  Brasil") %>% 
 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))
Cuadro No.1
Distibución de grupos geológicos de los pozos petrolíferos en Brasil
Grupo_Geologico ni hi
Ambientes costeros 294 0.99
Cuencas sedimentarias 3601 12.18
Formaciones 35 0.12
Otros/Locales 25555 86.41
Provincias 13 0.04
Regiones administrativas 2 0.01
Sistemas fluviales 75 0.25
Total 29575 100.00

7 Gráficas

7.1 Histograma de frecuencia absoluta local (ni)

Representa la cantidad de pozos en cada grupo geológico sin considerar el total nacional.

TDFGrupos_Finales2 <- TDFGrupos_Finales1.1[TDFGrupos_Finales1.1$Grupo_Geologico != "Total", ]
par(mar = c(9, 4, 4, 2))
barplot(TDFGrupos_Finales2$ni,
        main = "Gráfica N°1: Distribución en orden de cantidad de pozos petrolíferos por grupo geológico",
        ylab = "Cantidad",
        col = "#263238", names.arg = TDFGrupos_Finales2$Grupo_Geologico,
        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 (ni)

Muestra la concentración total de pozos petrolíferos por grupo geológico a escala nacional.

par(mar = c(9, 4, 4, 2))
barplot(TDFGrupos_Finales2$ni,
        main = "Gráfica N°2: Distribución en orden de cantidad de pozos petrolíferos por grupo geológico",
        ylab = "Cantidad",
        col = "#263238", names.arg = TDFGrupos_Finales2$Grupo_Geologico,
        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 (hi)

Expresa la participación porcentual de cada grupo en el conjunto analizado.

par(mar = c(9, 4, 4, 2))
barplot(TDFGrupos_Finales2$hi,
        main = "Gráfica N°3: Distribución porcentual de pozos petrolíferos por grupo geológico",
        ylab = "Porcentaje",
        col = "#263238", names.arg = TDFGrupos_Finales2$Grupo_Geologico,
        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 (hi)

Permite comparar el peso relativo de cada grupo geológico dentro del total nacional.

par(mar = c(9, 4, 4, 2))
barplot(TDFGrupos_Finales2$hi,
        main = "Gráfica N°4: Distribución porcentual de pozos petrolíferos por grupo geológico",
        ylab = "Porcentaje",
        col = "#263238", names.arg = TDFGrupos_Finales2$Grupo_Geologico,
        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

Visualiza de forma proporcional la participación de cada grupo geológico en el total de pozos.

library(ggplot2)
library(ggrepel)

datos_plot <- TDFGrupos_Finales2

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 = 1,
                        fill = Grupo_Geologico)) +
  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 petrolíferos según grupo geológico") +
  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",
`Rango [Min; Max]` = "N/A",
`Media (X̄)` = "N/A",
`Mediana (Me)` = "N/A",
`Moda (Mo)` = "Otros/Locales",
`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 de los Pozos Petroleros en Brasil") %>%
tab_source_note(source_note = "Autor: Anahi Macias") %>%
  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 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 N/A N/A N/A Otros/Locales N/A N/A N/A N/A N/A N/A
Autor: Anahi Macias

8.1 Conclusiones

8.1.1 Análisis Descriptivo

El análisis de la variable grupo geológico evidencia que la moda corresponde a “Otros/Locales”, lo que indica una alta diversidad de unidades geológicas con baja frecuencia individual. Esta concentración en la moda refleja una distribución heterogénea, característica de variables cualitativas nominales, donde no es pertinente el cálculo de media, mediana o dispersión. En términos geológicos, esto sugiere que la actividad petrolera no se restringe a un único tipo de unidad dominante, sino que se distribuye en múltiples contextos geológicos.