Análisis de las Condiciones Operativas de los Pozos Petrolíferos en Brasil
El presente análisis estudia la distribución de los estados operativos de los pozos petrolíferos en Brasil. A partir de los datos disponibles, se clasifican los pozos en categorías generales con el fin de analizar su frecuencia y representación porcentual. Posteriormente se utilizan tablas y gráficos para visualizar la estructura de la actividad petrolera según la condición operativa de cada pozo.
Importación del conjunto de datos y verificación de su estructura.
Obtención de la frecuencia de los estados operativos registrados.
Situación <- Datos$SITUACAO
TDFSituación <- as.data.frame(table(Situación))
TDFSituación
## Situación
## 1
## 2 ABANDONADO AGUARDANDO ABANDONO DEFINITIVO/ARRASAMENTO
## 3 ABANDONADO AGUARDANDO REINÍCIO DE PERFURAÇÃO
## 4 ABANDONADO DEFINITIVAMENTE
## 5 ABANDONADO POR LOGÍSTICA EXPLORATÓRIA
## 6 ABANDONADO/PARADO AGUARDANDO INTERVENÇÃO PARA AVALIAÇÃO, COMPLETAÇÃO OU RESTAURAÇÃO
## 7 ARRASADO
## 8 CEDIDO PARA PRODUÇÃO DE ÁGUA
## 9 DE DESCARTE
## 10 DEVOLVIDO
## 11 EM ABANDONO
## 12 EM INTERVENÇÃO PARA AVALIAÇÃO, COMPLETAÇÃO OU RESTAURAÇÃO
## 13 EM PERFURAÇÃO
## 14 EQUIPADO AGUARDANDO INÍCIO DE INJEÇÃO
## 15 EQUIPADO AGUARDANDO INÍCIO DE PRODUÇÃO
## 16 INJETOR
## 17 OUTRO
## 18 PRODUÇÃO DE AGUA PARA INJEÇÃO
## 19 PRODUTOR
## Freq
## 1 824
## 2 3120
## 3 2
## 4 5074
## 5 719
## 6 253
## 7 2193
## 8 262
## 9 40
## 10 1446
## 11 8
## 12 2711
## 13 6
## 14 9
## 15 60
## 16 2653
## 17 96
## 18 187
## 19 9912
View(TDFSituación)
Traducción y estandarización de las categorías originales.
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
TDFSituación$Situación[TDFSituación$Situación == ""] <- "Sin registro"
## Warning in `[<-.factor`(`*tmp*`, TDFSituación$Situación == "", value =
## structure(c(NA, : invalid factor level, NA generated
TDFSituación$Situación <- recode(TDFSituación$Situación,
"ABANDONADO AGUARDANDO ABANDONO DEFINITIVO/ARRASAMENTO" = "En proceso de cierre definitivo",
"ABANDONADO AGUARDANDO REINÍCIO DE PERFURAÇÃO" = "En espera de reinicio de perforación",
"ABANDONADO DEFINITIVAMENTE" = "Abandonado definitivamente",
"ABANDONADO POR LOGÍSTICA EXPLORATÓRIA" = "Abandonado por logística",
"ABANDONADO/PARADO AGUARDANDO INTERVENÇÃO PARA AVALIAÇÃO, COMPLETAÇÃO OU RESTAURAÇÃO" = "Suspendido en espera de intervención",
"ARRASADO" = "Desmantelado",
"CEDIDO PARA PRODUÇÃO DE ÁGUA" = "Cedido para producción de agua",
"DE DESCARTE" = "Descartado",
"DEVOLVIDO" = "Devuelto",
"EM ABANDONO" = "En proceso de abandono",
"EM INTERVENÇÃO PARA AVALIAÇÃO, COMPLETAÇÃO OU RESTAURAÇÃO" = "En intervención activa",
"EM PERFURAÇÃO" = "En perforación",
"EQUIPADO AGUARDANDO INÍCIO DE INJEÇÃO" = "Equipado esperando inyección",
"EQUIPADO AGUARDANDO INÍCIO DE PRODUÇÃO" = "Equipado esperando producción",
"INJETOR" = "Pozo inyector",
"PRODUÇÃO DE AGUA PARA INJEÇÃO" = "Producción de agua para inyección",
"PRODUTOR" = "Pozo productor")
En este bloque se recodifican los valores originales en grupos operativos más generales.
library(dplyr)
TDFSituación <- TDFSituación %>%
mutate(Condición = case_when(
Situación %in% c("En perforación", "Equipado esperando producción", "Equipado esperando inyección", "Pozo productor", "Pozo inyector", "Producción de agua para inyección") ~ "Activos y en Desarrollo",
Situación %in% c("En intervención activa", "Suspendido en espera de intervención", "En espera de reinicio de perforación", "Cedido para producción de agua", "Devuelto") ~ "Suspendidos o Inactivos",
Situación %in% c("En proceso de abandono", "En proceso de cierre definitivo", "Abandonado por logística") ~ "En Proceso de Abandono",
Situación %in% c("Abandonado definitivamente", "Desmantelado", "Descartado") ~ "Clausura Definitiva", TRUE ~ "Sin registro"
))
head(TDFSituación$Situación)
## [1] <NA> En proceso de cierre definitivo
## [3] En espera de reinicio de perforación Abandonado definitivamente
## [5] Abandonado por logística Suspendido en espera de intervención
## 19 Levels: ... Pozo productor
TDFSituación$Condición <- factor(TDFSituación$Condición,
levels = c("Activos y en Desarrollo",
"Suspendidos o Inactivos",
"En Proceso de Abandono",
"Clausura Definitiva",
"Sin registro"),
ordered = TRUE)
Se calculan las frecuencias absolutas (ni) y relativas (hi) para cada condición operativa de los pozos petrolíferos.
TDFSituación$Freq <- as.numeric(as.character(TDFSituación$Freq))
library(dplyr)
TDFSituación1 <- Datos$TDFSituación
TDFSituación1 <- TDFSituación %>%
group_by(Condición) %>%
summarise(
ni = sum(Freq),
hi = round(sum(Freq) / sum(TDFSituación$Freq)*100, 2))
TDFSituación1 <- data.frame(TDFSituación1)
Se agrega la fila acumulada y se forma la tabla final.
TDFSituación1 <- TDFSituación1 [, c("Condición", "ni", "hi")]
total_ni <- sum(TDFSituación1$ni)
total_hi <- 100
TDFSituacióncompleta <- rbind(TDFSituación1, data.frame( Condición = "Total",
ni = total_ni,
hi = total_hi))
print(TDFSituacióncompleta)
## Condición ni hi
## 1 Activos y en Desarrollo 12827 43.37
## 2 Suspendidos o Inactivos 4674 15.80
## 3 En Proceso de Abandono 3847 13.01
## 4 Clausura Definitiva 7307 24.71
## 5 Sin registro 920 3.11
## 6 Total 29575 100.00
Se genera un cuadro formal utilizando gt.
library(gt)
gt(TDFSituacióncompleta) %>%
tab_header(
title = md("**Cuadro No.1**"),
subtitle = "Situación 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 | ||
| Situación de los pozos petrolíferos en Brasil | ||
| Condición | ni | hi |
|---|---|---|
| Activos y en Desarrollo | 12827 | 43.37 |
| Suspendidos o Inactivos | 4674 | 15.80 |
| En Proceso de Abandono | 3847 | 13.01 |
| Clausura Definitiva | 7307 | 24.71 |
| Sin registro | 920 | 3.11 |
| Total | 29575 | 100.00 |
Este gráfico muestra la cantidad de pozos por categoría, sin incluir el total.
TDFSituaciónfinal <- TDFSituacióncompleta[TDFSituacióncompleta$Condición != "Total", ]
par(mar = c(9, 4, 4, 2))
bp <- barplot(TDFSituaciónfinal$ni,
main = "Gráfica N°1: Distribución en Cantidad de la Clasificación General",
ylab = "Cantidad",
col = "#2E4053",
xaxt = "n",
cex.axis = 0.8, cex.main = 0.9)
text(x = bp, y = -1500,
labels = TDFSituaciónfinal$Condición,
srt = 45, adj = 1, xpd = TRUE, cex = 0.8)
mtext("Condición", side = 1, line = 6, cex = 1)
Este bloque amplía el rango del eje Y para observar categorías dominantes.
par(mar = c(9, 4, 4, 2))
bp <- barplot(TDFSituaciónfinal$ni,
main = "Gráfica N°2: Distribución en Cantidad de la Clasificación General",
ylab = "Cantidad",
col = "#2E4053",
xaxt = "n",
yaxt = "n",
cex.axis = 0.8, cex.main = 0.9,
ylim = c(0, 30000))
axis(side = 2, at = seq(0, 30000, by = 5000), las = 1, cex.axis = 0.8)
text(x = bp, y = -1500,
labels = TDFSituaciónfinal$Condición,
srt = 45, adj = 1, xpd = TRUE, cex = 0.8)
mtext("Condición", side = 1, line = 6, cex = 1)
Aquí se representa el porcentaje de pozos por cada categoría.
par(mar = c(9, 4, 4, 2))
bp <- barplot(TDFSituaciónfinal$hi,
main = "Gráfica N°1: Distribución en Cantidad de las condiciones de los pozos petroliferos en Brasil",
ylab = "Cantidad",
col = "#2E4053",
xaxt = "n",
cex.axis = 0.8, cex.main = 0.9)
text(x = bp, y = -3,
labels = TDFSituaciónfinal$Condición,
srt = 45, adj = 1, xpd = TRUE, cex = 0.8)
mtext("Condición", side = 1, line = 6, cex = 1)
Este bloque ajusta el eje Y hasta el 100%.
par(mar = c(9, 4, 4, 2))
bp <- barplot(TDFSituaciónfinal$hi,
main = "Gráfica N°1: Distribución en Cantidad de las condiciones de los pozos petroliferos en Brasil",
ylab = "Cantidad",
col = "#2E4053",
xaxt = "n",
cex.axis = 0.8, cex.main = 0.9,
ylim = c(0, 100))
text(x = bp, y = -3,
labels = TDFSituaciónfinal$Condición,
srt = 45, adj = 1, xpd = TRUE, cex = 0.8)
mtext("Condición", side = 1, line = 6, cex = 1)
Se muestra la participación relativa de cada condición operativa respecto al total de pozos analizados mediante un diagrama circular.
pie(TDFSituaciónfinal$hi,
main = "Gráfica N°5: Distribución porcentual de las condiciones de los pozos petroliferos en Brasil",
radius = 0.8,
labels = paste0(round(TDFSituaciónfinal$hi,2)),
col = c("#2E4053", "#5D6D7E", "#E67E22", "#C0392B", "#D5D8DC"),
cex.main = 0.8,
init.angle = 360)
legend(x = -1.87, y =1,
legend = TDFSituaciónfinal$Condición,
fill = c("#2E4053", "#5D6D7E", "#E67E22", "#C0392B", "#D5D8DC"),
cex = 0.7,
title = "Condiciones de los pozos")
Se presenta una tabla resumen con los principales indicadores descriptivos asociados a la variable analizada.
Conclusiones <- data.frame(
Variable = "Condiciones de los pozos",
`Rango [Min; Max]` = "N/A",
`Media (X̄)` = "N/A",
`Mediana (Me)` = "N/A",
`Moda (Mo)` = "Activos y en Desarrollo",
`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 las Condiciones de los pozoss Petrolíferos 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 las Condiciones de los pozoss Petrolíferos 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 |
|---|---|---|---|---|---|---|---|---|---|---|
| Condiciones de los pozos | N/A | N/A | N/A | Activos y en Desarrollo | N/A | N/A | N/A | N/A | N/A | N/A |
| Autor: Anahi Macias | ||||||||||
Los resultados evidencian que la categoría Activos y en Desarrollo concentra la mayor proporción de pozos petrolíferos en Brasil. Este comportamiento indica que gran parte de la actividad petrolera del país se encuentra en etapas de producción o desarrollo operativo, mientras que las fases de abandono o suspensión representan una proporción menor dentro del conjunto de datos analizado.