Análisis Probabilístico de la Composición Geológica Final en la Cuenca Brasileña `
setwd("C:/Users/Usuario/Desktop/Nueva carpeta")
library(readxl)
library(dplyr)
library(gt)
datos <- read_excel("tabela_de_pocos_janeiro_2018.xlsx")
Prepara las herramientas de trabajo y abre el archivo con la información de los pozos petroleros de Brasil.
Se realiza un conteo general para determinar cuántas formaciones distintas existen antes de su organización
Se realiza la traducción de los nombres técnicos, la identificación de datos faltantes y la agrupación de los registros
library(dplyr)
library(forcats)
TDF_Agrupada_F <- Datos %>%
mutate(GEOFF_Agrupado = ifelse(GEOLOGIA_FORMACAO_FINAL == "" | is.na(GEOLOGIA_FORMACAO_FINAL),
"Sin Información",
GEOLOGIA_FORMACAO_FINAL)) %>%
mutate(GEOFF_Agrupado = recode(GEOFF_Agrupado,
"Embasamento" = "Roca Base",
"Açu" = "Form. Açu",
"Pendência" = "Form. Pendencia",
"Ubatuba" = "Form. Ubatuba",
"Sergi" = "Form. Sergi",
"Urucutuca" = "Form. Urucutuca",
"Carapebus" = "Form. Carapebus",
"Barra de Itiuba" = "Barra de Itiúba",
"São Mateus" = "Form. San Mateo")) %>%
# Agrupamos en 4 principales + 1 "Otras" = 5 grupos en total
mutate(GEOFF_Agrupado = fct_lump_n(GEOFF_Agrupado, n = 4, other_level = "Otras Formaciones")) %>%
count(GEOFF_Agrupado, name = "Freq")
print(TDF_Agrupada_F)
## GEOFF_Agrupado Freq
## 1 Form. Açu 1133
## 2 Form. Ubatuba 257
## 3 Roca Base 748
## 4 Sin Información 24630
## 5 Otras Formaciones 2807
Calcula la cantidad exacta de pozos y el porcentaje que representa cada grupo sobre el total nacional.
TDF_Agrupada_F$GEOFF_Agrupado <- as.character(TDF_Agrupada_F$GEOFF_Agrupado)
TDF_Agrupada_F1<- TDF_Agrupada_F %>%
group_by(GEOFF_Agrupado) %>%
summarise(
ni = sum(Freq),
hi = round(ni / sum(TDF_Agrupada_F$Freq) * 100, 2)) %>%
arrange(desc(ni))
TDF_Agrupada_F1 <- as.data.frame(TDF_Agrupada_F1)
TDF_Agrupada_F1
## GEOFF_Agrupado ni hi
## 1 Sin Información 24630 83.28
## 2 Otras Formaciones 2807 9.49
## 3 Form. Açu 1133 3.83
## 4 Roca Base 748 2.53
## 5 Form. Ubatuba 257 0.87
Calcula la cantidad exacta de pozos y el porcentaje que representa cada grupo sobre el total nacional.
TDF_Agrupada_F1$fi <- TDF_Agrupada_F1$ni / sum(TDF_Agrupada_F1$ni)
colnames(TDF_Agrupada_F1)[colnames(TDF_Agrupada_F1) == "GEOFF_Agrupado"] <- "Forma_Geo_Final"
TDF_Agrupada_F1 <- TDF_Agrupada_F1[, c("Forma_Geo_Final", "ni", "hi","fi")]
total_ni <- sum(TDF_Agrupada_F1$ni)
total_hi <- sum((TDF_Agrupada_F1$hi))
total_fi <- sum((TDF_Agrupada_F1$fi))
TDF_Agrupada_F1.1 <- rbind(TDF_Agrupada_F1, data.frame( Forma_Geo_Final = "Total",
ni = total_ni,
hi = total_hi,
fi = total_fi))
print(TDF_Agrupada_F1.1)
## Forma_Geo_Final ni hi fi
## 1 Sin Información 24630 83.28 0.832797971
## 2 Otras Formaciones 2807 9.49 0.094911243
## 3 Form. Açu 1133 3.83 0.038309383
## 4 Roca Base 748 2.53 0.025291631
## 5 Form. Ubatuba 257 0.87 0.008689772
## 6 Total 29575 100.00 1.000000000
library(gt)
gt(TDF_Agrupada_F1.1) %>%
tab_header(
title = md("**Tabla N°1: DISTRIBUCIÓN DE FRECUENCIAS DE POZOS PETROLEROS DE BRASIL**"),
subtitle = "Distibución de Formación al final del pozo 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(TDF_Agrupada_F1.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 Formación al final del pozo de los pozos petrolíferos en Brasil | |||
| Forma_Geo_Final | ni |
Frecuencia Relativa
|
|
|---|---|---|---|
| Porcentual (%) | Fracción | ||
| Sin Información | 24630 | 83.28 | 0.8328 |
| Otras Formaciones | 2807 | 9.49 | 0.0949 |
| Form. Açu | 1133 | 3.83 | 0.0383 |
| Roca Base | 748 | 2.53 | 0.0253 |
| Form. Ubatuba | 257 | 0.87 | 0.0087 |
| Total | 29575 | 100.00 | 1.0000 |
Se representan los datos numéricos mediante gráficos de barras y circulares para identificar tendencias de forma visual
TDF_Agrupada_F_g <- TDF_Agrupada_F1[TDF_Agrupada_F1$Forma_Geo_Final != "Total", ]
par(mar = c(9, 4, 4, 2))
barplot(TDF_Agrupada_F_g$ni,
main = "Gráfica N°1: Distribución de pozos petrolíferos por Formación\nal final del pozo ",
ylab = "Cantidad",
col = "#263238", names.arg = TDF_Agrupada_F_g$Forma_Geo_Final,
las = 2, cex.names = 0.8, cex.axis = 0.8, cex.main = 1)
mtext("Grupo", side = 1, line = 7)
par(mar = c(9, 4, 4, 2))
barplot(TDF_Agrupada_F_g$hi,
main = "Gráfica N°2: Distribución porcentual de pozos petrolíferos por\nFormación al final del pozo",
ylab = "Porcentaje",
col = "#263238", names.arg = TDF_Agrupada_F_g$Forma_Geo_Final,
las = 2, cex.names = 0.8, cex.axis = 0.8, cex.main = 1)
mtext("Grupo", side = 1, line = 7)
P_GEOFINAL <- TDF_Agrupada_F_g$ni / sum(TDF_Agrupada_F_g$ni)
par(mar = c(9, 4, 4, 2))
barplot(P_GEOFINAL,
main = "Gráfica N°3: Distribución de Probabilidad según la Formación al final del Pozo",
ylab = "Probabilidad",
col = "#2E4053", names.arg = TDF_Agrupada_F_g$Forma_Geo_Final,
las = 2, cex.names = 1, cex.axis = 0.9, cex.main = 1)
mtext("Grupo", side = 1, line = 8, adj = 0.5, cex = 1.2)
¿Cuál es la probalidad de qué la Formación al Final de un pozo sea Roca Base?
x <- round(
(TDF_Agrupada_F_g$ni[TDF_Agrupada_F_g$Forma_Geo_Final == "Roca Base"] /
sum(TDF_Agrupada_F_g$ni)) * 100, 1)
print(paste("La probabilidad es de:", x, "%"))
## [1] "La probabilidad es de: 2.5 %"
La probabilidad de que la formación al final de un pozo petrolero sea Roca Base es del 2,5 %, lo que representa una presencia baja dentro del total de pozos analizados.
¿Cuántos pozos petroleros van a poseer una Formación al final del Pozo de Roca Madre?
p <- x / 100
n <- 1000
cantidad_esperada <- n * p
Operador_objetivo <- "Roca Madre"
cat("Para n =", n, "pozos, la cantidad esperada con Roca Madre al Final del Pozo es,", Operador_objetivo, "=", round(cantidad_esperada, 2), "\n")
## Para n = 1000 pozos, la cantidad esperada con Roca Madre al Final del Pozo es, Roca Madre = 25
Con una probabilidad estimada, se espera que de 1 000 pozos petroleros aproximadamente 25 presenten una formación final de tipo Roca Madre.