Modelo de Probabilidad de los Campos de producción de los pozos petrolíferos en Brasil
setwd("C:/Users/Usuario/Desktop/Nueva carpeta")
library(readxl)
library(dplyr)
library(gt)
datos <- read_excel("tabela_de_pocos_janeiro_2018.xlsx")
Se importan los datos y se valida su estructura para el análisis estadístico.
Se obtiene la frecuencia absoluta de los pozos según su campo de producción.
Se agrupan los campos en categorías generales según patrones presentes en su denominación.
sum(table(TDFCampo$Campos))
## [1] 542
Los campos se agrupan en categorías productivas según criterios semánticos del nombre.
TDFCampo$Freq <- as.numeric(as.character(TDFCampo$Freq))
library(dplyr)
TDFCampos <- Datos$TDFCampo
TDFCampos <- TDFCampo %>%
group_by(Campo) %>%
summarise(
ni = sum(Freq),
hi = round(sum(Freq) / sum(TDFCampo$Freq)*100, 4))
TDFCampos <- data.frame(TDFCampos)
Se presenta el cuadro resumen con los totales de frecuencia absoluta y relativa.
TDFCampos <- TDFCampos [, c("Campo", "ni", "hi")]
TDFCampos$fi <- TDFCampos$ni / sum(TDFCampos$ni)
total_ni <- sum(TDFCampos$ni)
total_hi <- sum(TDFCampos$hi)
total_fi <- sum(TDFCampos$fi)
TDFCampos1 <- rbind(TDFCampos, data.frame( Campo = "Total",
ni = total_ni,
hi = total_hi,
fi = total_fi))
print(TDFCampos1)
## Campo ni hi fi
## 1 Campos fluviales 790 2.6712 0.026711750
## 2 Campos insulares 130 0.4396 0.004395604
## 3 Campos lacustres 292 0.9873 0.009873204
## 4 Campos marinos 3904 13.2003 0.132003381
## 5 Extensiones geograficas 531 1.7954 0.017954353
## 6 Otros campos 23928 80.9062 0.809061708
## 7 Total 29575 100.0000 1.000000000
Se genera una tabla formal utilizando el paquete gt.
library(gt)
gt(TDFCampos1) %>%
tab_header(
title = md("**Tabla N°1: DISTRIBUCIÓN DE FRECUENCIAS DE POZOS PETROLEROS DE BRASIL**"),
subtitle = "Campos de Producción de los Pozos Petrolíferos") %>%
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(TDFCampos1))
) %>%
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 | |||
| Campos de Producción de los Pozos Petrolíferos | |||
| Campo | ni |
Frecuencia Relativa
|
|
|---|---|---|---|
| Porcentual (%) | Fracción | ||
| Campos fluviales | 790 | 2.67 | 0.0267 |
| Campos insulares | 130 | 0.44 | 0.0044 |
| Campos lacustres | 292 | 0.99 | 0.0099 |
| Campos marinos | 3904 | 13.20 | 0.1320 |
| Extensiones geograficas | 531 | 1.80 | 0.0180 |
| Otros campos | 23928 | 80.91 | 0.8091 |
| Total | 29575 | 100.00 | 1.0000 |
Se muestra la distribución en cantidad de campos petroleros por grupo a nivel local.
TDFCampos1 <- TDFCampos1[TDFCampos1$Campo != "Total", ]
par(mar = c(9, 4, 4, 2))
barplot(TDFCampos1$ni,
main = "Gráfica N°1: Distribución en cantidad de campos petroleros por grupo",
ylab = "Cantidad",
col = "#2E4053", names.arg = TDFCampos1$Campo,
las = 2, cex.names = 0.8, cex.axis = 0.8, cex.main = 1)
mtext("Campos", side = 1, line = 7)
Se muestra la distribución porcentual de campos petroleros por grupo a nivel local.
par(mar = c(9, 4, 4, 2))
barplot(TDFCampos1$hi,
main = "Gráfica N°3: Distribución porcentual de campos petroleros por grupo",
ylab = "Porcentaje",
col = "#2E4053", names.arg = TDFCampos1$Campo,
las = 2, cex.names = 0.8, cex.axis = 0.8, cex.main = 1)
mtext("Campos", side = 1, line = 7)
Se construye la distribución de probabilidad empírica de los campos petroleros.
P_Campos <- TDFCampos1$ni / sum(TDFCampos1$ni)
par(mar = c(9, 4, 4, 2))
barplot(P_Campos,
main = "Gráfica N°3: Distribución de Probabilidad de los campos petroleros por grupo",
ylab = "Probabilidad",
col = "#2E4053", names.arg = TDFCampos1$Campo,
las = 2, cex.names = 0.8, cex.axis = 0.8, cex.main = 1)
mtext("Campos", side = 1, line = 7)
¿Cuál es la probabilidad de que un pozo petrolero seleccionado aleatoriamente pertenezca a un campo marino?
x <- round(
(TDFCampos1$ni[TDFCampos1$Campo == "Campos marinos"] /
sum(TDFCampos1$ni)) * 100, 1)
print(paste("La probabilidad es de:", x, "%"))
## [1] "La probabilidad es de: 13.2 %"
La probabilidad calculada indica que aproximadamente el 13,2 % de los pozos petroleros pertenecen a campos marinos, lo que evidencia una presencia relevante, aunque no mayoritaria, dentro de la producción petrolera brasileña.
Si se seleccionan 1000 pozos petroleros, ¿cuántos se espera que pertenezcan a campos marinos?
p <- x / 100
n <- 1000
cantidad_esperada <- n * p
Bloque_objetivo <- "Campos marinos"
cat("Para n =", n, "Pozos, cantidad esperada en", Bloque_objetivo, "=", round(cantidad_esperada, 2), "\n")
## Para n = 1000 Pozos, cantidad esperada en Campos marinos = 132
De acuerdo con el modelo probabilístico, para un total de 1000 pozos, se espera que 132 pozos corresponda a campos marinos, manteniendo la distribución observada en los datos reales