Grupos Geológicos
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" ...
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
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
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
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
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 |
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)
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)
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)
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)
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)
)
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 | ||||||||||
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.