Modelo de Probabilidad de la Ubicación de los pozos petrolíferos en las regiones de Brasil
setwd("C:/Users/Usuario/Desktop/Nueva carpeta")
library(readxl)
library(dplyr)
library(gt)
datos <- read_excel("tabela_de_pocos_janeiro_2018.xlsx")
Este bloque carga la base de datos original de pozos y revisa la estructura de los datos.
Se determina la frecuencia absoluta de los pozos perforados según el estado.
Estados <- datos$ESTADO
TDFEstados <- as.data.frame(table(Estados))
colnames(TDFEstados) <- c("Estados", "Freq")
En esta sección se agrupan los estados de acuerdo con su región geográfica en Brasil.
library(dplyr)
TDFEstados$Regiones <- ifelse(TDFEstados$Estados %in% c("AC", "AP", "AM", "TO", "PA", "RR"), "Norte",
ifelse(TDFEstados$Estados %in% c("AL", "BA", "CE", "MA", "PB", "PI", "PE", "SE", "PR", "RN"), "Nordeste",
ifelse(TDFEstados$Estados %in% c("ES", "MG", "RJ", "SP", "SC", "RS"), "Sudeste",
ifelse(TDFEstados$Estados %in% c("DF", "GO", "MS", "MT"), "Centro-Oeste", "otros"))))
TDFEstados <- TDFEstados [, c("Estados", "Freq", "Regiones")]
head(TDFEstados)
## Estados Freq Regiones
## 1 AC 6 Norte
## 2 AL 969 Nordeste
## 3 AM 533 Norte
## 4 AP 84 Norte
## 5 BA 7118 Nordeste
## 6 CE 1273 Nordeste
A continuación, se calculan las frecuencias absolutas y relativas con el objetivo de cuantificar la concentración y el peso porcentual de las perforaciones en cada región analizada.
TDFEstados$Freq <- as.numeric(as.character(TDFEstados$Freq))
library(dplyr)
TDFEstadosfinal1 <- TDFEstados %>%
group_by(Regiones) %>%
summarise(
ni = sum(Freq),
hi = round(sum(Freq) / sum(TDFEstados$Freq)*100, 5))
TDFEstadosfinal1 <- data.frame(TDFEstadosfinal1)
En este bloque se añade la fila acumulada y se ordena la tabla final.
TDFEstadosfinal1$fi<-TDFEstadosfinal1$ni/sum(TDFEstadosfinal1$ni)
TDFEstadosfinal1 <- TDFEstadosfinal1 [, c("Regiones", "ni", "hi","fi")]
total_ni <- sum(TDFEstadosfinal1$ni)
total_hi <- sum(TDFEstadosfinal1$hi)
total_fi<-sum(TDFEstadosfinal1$fi)
TDFEstadoscompleta <- rbind(TDFEstadosfinal1, data.frame( Regiones = "Total",
ni = total_ni,
hi = total_hi,
fi = total_fi))
print(TDFEstadoscompleta)
## Regiones ni hi fi
## 1 Centro-Oeste 33 0.11158 0.001115807
## 2 Nordeste 22583 76.35841 0.763584108
## 3 Norte 727 2.45816 0.024581572
## 4 Sudeste 6232 21.07185 0.210718512
## 5 Total 29575 100.00000 1.000000000
Se presenta la información en una tabla formal mediante el paquete gt.
library(gt)
gt(TDFEstadoscompleta) %>%
tab_header(
title = md("**Tabla N°1: DISTRIBUCIÓN DE FRECUENCIAS DE POZOS PETROLEROS DE BRASIL**"),
subtitle = "Distibución de pozos petroliferos en las regiones de 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(TDFEstadoscompleta))
) %>%
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 pozos petroliferos en las regiones de Brasil | |||
| Regiones | ni |
Frecuencia Relativa
|
|
|---|---|---|---|
| Porcentual (%) | Fracción | ||
| Centro-Oeste | 33 | 0.11 | 0.0011 |
| Nordeste | 22583 | 76.36 | 0.7636 |
| Norte | 727 | 2.46 | 0.0246 |
| Sudeste | 6232 | 21.07 | 0.2107 |
| Total | 29575 | 100.00 | 1.0000 |
Se muestra la distribución de la cantidad de pozos por región, omitiendo el total general.
##Histograma de frecuencia absoluta local (ni)
TDFEstadoscompleta_ <- TDFEstadoscompleta[TDFEstadoscompleta$Regiones != "Total", ]
barplot(TDFEstadoscompleta_$ni,
main = "Gráfica N°1: Distribución de pozos petroliferos segun su región en Brasil",
xlab = "Regiones", ylab = "Cantidad",
col = "#2E4053", names.arg = TDFEstadoscompleta_$Regiones,
las = 1, cex.names = 1, cex.axis = 0.8, cex.main = 1)
barplot(TDFEstadoscompleta_$hi,
main = "Gráfica N°3: Distribución en porcentaje según su región en Brasil",
xlab = "Regiones", ylab = "Porcentaje",
col = "#2E4053", names.arg = TDFEstadoscompleta_$Regiones,
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 por región.
P_Estados <- TDFEstadoscompleta_$ni / sum(TDFEstadoscompleta_$ni)
par(mar = c(9, 4, 4, 2))
barplot(P_Estados,
main = "Gráfica N°3: Distribución de Probabilidad de la Ubicación de los Pozos en Brasil",
xlab = "Regiones", ylab = "Probabilidad",
col = "#2E4053", names.arg = TDFEstadoscompleta_$Regiones,
las = 2, cex.names = 0.8, cex.axis = 0.8, cex.main = 1)
¿Cuál es la probabilidad de que un pozo petrolero se encuentre en la región Norte?
x <- round(
(TDFEstadoscompleta_$ni[TDFEstadoscompleta_$Regiones == "Norte"] /
sum(TDFEstadoscompleta_$ni)) * 100, 1)
print(paste("La probabilidad es de:", x, "%"))
## [1] "La probabilidad es de: 2.5 %"
La probabilidad obtenida indica que aproximadamente 2.5 % de los pozos petrolíferos en Brasil se encuentran en la región Norte
¿Cuántos pozos petroleros pueden estar en la región Norte?.
p <- x / 100
n <- 1000
cantidad_esperada <- n * p
region_objetivo <- "Norte"
cat("Para n =", n, "pozos, cantidad esperada en la región", region_objetivo, "=", round(cantidad_esperada, 2), "\n")
## Para n = 1000 pozos, cantidad esperada en la región Norte = 25
Se espera que aproximadamente 25 pozos se localicen en la región Norte, por cada 1000 pozos considerados.