Modelo de Probabilidad de la Distribución de Pozos Petroleros Marinos y Terrestres 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 importa la base de datos de pozos petrolíferos de Brasil y se verifica la estructura de las variables para asegurar su correcta lectura.
Se calcula la frecuencia absoluta de los pozos según su ubicación (mar o tierra).
Ubicación <- Datos$TERRA_MAR
TDFUbicación <- as.data.frame(table(Ubicación))
TDFUbicación
## Ubicación Freq
## 1 M 6649
## 2 T 22926
Se recodifican los valores “M” y “T” a sus descripciones correspondientes.
library(dplyr)
TDFUbicación$Sitio <- ifelse(TDFUbicación$Ubicación %in% c("M"), "Mar",
ifelse(TDFUbicación$Ubicación %in% c("T"), "Tierra", NA))
head(TDFUbicación$Sitio)
## [1] "Mar" "Tierra"
Se obtienen las frecuencias absolutas (ni) y relativas (hi) de los pozos según su ubicación.
TDFUbicación$Freq <- as.numeric(as.character(TDFUbicación$Freq))
library(dplyr)
TDFUbicación1 <- Datos$TDFUbicación
TDFUbicación1 <- TDFUbicación %>%
group_by(Sitio) %>%
summarise(
ni = sum(Freq),
hi = round(sum(Freq) / sum(TDFUbicación$Freq)*100, 4))
TDFUbicación1 <- data.frame(TDFUbicación1)
Se agregan los totales de frecuencia absoluta y relativa.
TDFUbicación1$fi <- TDFUbicación1$ni / sum(TDFUbicación1$ni)
fila_total <- data.frame(Sitio = "Total",
ni = sum(TDFUbicación1$ni),
hi = sum(TDFUbicación1$hi),
fi = sum(TDFUbicación1$fi))
TDFUbicacióncompleta <- rbind(TDFUbicación1, fila_total)
print(TDFUbicacióncompleta)
## Sitio ni hi fi
## 1 Mar 6649 22.4818 0.2248183
## 2 Tierra 22926 77.5182 0.7751817
## 3 Total 29575 100.0000 1.0000000
Se genera la tabla final con título y subtítulo formales.
library(gt)
gt(TDFUbicacióncompleta) %>%
tab_header(
title = md("**Tabla N°1: DISTRIBUCIÓN DE FRECUENCIAS DE POZOS PETROLEROS DE BRASIL**"),
subtitle = "Clasificación de los pozos petrolíferos según ubicación (mar y tierra)") %>%
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(TDFUbicacióncompleta))
) %>%
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 | |||
| Clasificación de los pozos petrolíferos según ubicación (mar y tierra) | |||
| Sitio | ni |
Frecuencia Relativa
|
|
|---|---|---|---|
| Porcentual (%) | Fracción | ||
| Mar | 6649 | 22.48 | 0.2248 |
| Tierra | 22926 | 77.52 | 0.7752 |
| Total | 29575 | 100.00 | 1.0000 |
Muestra la cantidad de pozos marinos y terrestres, excluyendo el total general.
TDFUbicaciónfinal <- TDFUbicacióncompleta[TDFUbicacióncompleta$Sitio != "Total", ]
par(mar = c(9, 4, 4, 2))
barplot(TDFUbicaciónfinal$ni,
main = "Gráfico No. 1. Distribución de cantidad local de la ubicación de los pozos",
xlab = "Sitio" , ylab = "Cantidad",
col = "#2E4053", names.arg = TDFUbicaciónfinal$Sitio,
las = 1, cex.names = 1, cex.axis = 0.8, cex.main = 1)
Presenta el porcentaje de pozos según su ubicación, permitiendo una interpretación probabilística.
par(mar = c(9, 4, 4, 2))
barplot(TDFUbicaciónfinal$hi,
main = "Gráfico No°2: Distribución porcentual local de la ubicación de los pozos",
xlab = "Sitio", ylab = "Porcentaje",
col = "#2E4053", names.arg = TDFUbicaciónfinal$Sitio,
las = 1, cex.names = 1, cex.axis = 0.8, cex.main = 1)
Se construye un modelo empírico de probabilidad a partir de las frecuencias relativas de la ubicación de los pozos.
P_Ubicación <- TDFUbicaciónfinal$ni / sum(TDFUbicaciónfinal$ni)
par(mar = c(9, 4, 4, 2))
barplot(P_Ubicación,
main = "Gráfica N°3: Distribución de Probabilidad de la Ubicación de los pozos",
xlab = "Sitio", ylab = "Probabilidad",
col = "#2E4053", names.arg = TDFUbicaciónfinal$Sitio,
las = 1, cex.names = 1, cex.axis = 0.9, cex.main = 1)
¿Cuál es la probabilidad de que un pozo petrolero sea marino?
x <- round(
(TDFUbicaciónfinal$ni[TDFUbicaciónfinal$Sitio == "Mar"] /
sum(TDFUbicaciónfinal$ni)) * 100, 1)
print(paste("La probabilidad es de:", x, "%"))
## [1] "La probabilidad es de: 22.5 %"
La probabilidad obtenida indica que aproximadamente el 22.5% de los pozos petrolíferos en Brasil sean marinos.
¿Cuántos pozos petroleros pueden ser marinos?.
p <- x / 100
n <- 1000
cantidad_esperada <- n * p
Sitio_objetivo <- "Mar"
cat("Para n =", n, "pozos, cantidad esperada de los pozos", Sitio_objetivo, "=", round(cantidad_esperada, 2), "\n")
## Para n = 1000 pozos, cantidad esperada de los pozos Mar = 225
Se espera que aproximadamente 225 pozos petroleros sean marítimos, por cada 1000 pozos considerados