Distribución de Probabilidad de la Titularidad de los Pozos Petrolero

setwd("C:/Users/Usuario/Desktop/Nueva carpeta")
library(readxl)
library(dplyr)
library(gt)
datos <- read_excel("tabela_de_pocos_janeiro_2018.xlsx")

1 Carga del entorno de trabajo y datos

En esta fase inicial, se configura el entorno de trabajo y se realiza la carga del conjunto de datos correspondiente a los pozos petrolíferos mediante la lectura de un archivo CSV, preparando así la información para su posterior procesamiento y análisis exploratorio.

2 Tabla de distribución de frecuencia

Se presenta la tabla de frecuencias de la variable TITULARIDADE para analizar sus distintas categorías

Titularidad <- Datos$TITULARIDADE
TDFTitularidad <- as.data.frame(table(Titularidad))
TDFTitularidad
##    Titularidad  Freq
## 1 Confidencial   705
## 2   P\xfablico 28870

3 Cálculo de frecuencias absoluta y relativa

Se determina la distribución en número (ni) y el porcentaje (hi) de los pozos de acuerdo con su titularidad.

TDFTitularidad$Freq <- as.numeric(as.character(TDFTitularidad$Freq))
library(dplyr)
TDFTitularidad1 <- Datos$TDFTitularidad
TDFTitularidad1  <- TDFTitularidad %>%
  group_by(Titularidad) %>%
  
  summarise( 
    ni = sum(Freq),
    hi = round(sum(Freq) / sum(TDFTitularidad$Freq)*100, 5))

TDFTitularidad1 <- data.frame(TDFTitularidad1)

4 Incorporación de totales

Se presentan los totales generales de la frecuencia absoluta y relativa.

TDFTitularidad1$fi <- TDFTitularidad1$ni / sum(TDFTitularidad1$ni)
TDFTitularidad1$hi <- TDFTitularidad1$fi * 100

TDFTitularidad1 <- TDFTitularidad1[, c("Titularidad", "ni", "hi", "fi")]

total_ni <- sum(TDFTitularidad1$ni) 
total_hi <- sum(TDFTitularidad1$hi)
total_fi <- sum(TDFTitularidad1$fi)

TDFTitularidadcompleta <- rbind(
  TDFTitularidad1,
  data.frame(
    Titularidad = "Total",
    ni = total_ni,
    hi = total_hi,
    fi = total_fi
  )
)

print(TDFTitularidadcompleta)
##    Titularidad    ni        hi        fi
## 1 Confidencial   705   2.38377 0.0238377
## 2   P\xfablico 28870  97.61623 0.9761623
## 3        Total 29575 100.00000 1.0000000

5 Presentación de tabular los resultados

Se presenta la tabla de distribución con un formato adecuado para facilitar su interpretación.

library(gt)

TDFTitularidadcompleta$Titularidad <- iconv(
  as.character(TDFTitularidadcompleta$Titularidad),
  from = "latin1",
  to = "UTF-8",
  sub = ""
)

gt(TDFTitularidadcompleta) %>%
  tab_header(
    title = md("**DISTRIBUCION DE FRECUENCIAS DE POZOS PETROLEROS DE BRASIL**"),
    subtitle = "Titularidad de los pozos petroleros"
  ) %>%
  tab_spanner(
    label = md("**Frecuencia Relativa**"),
    columns = c(hi, fi)
  ) %>%
  cols_label(
    Titularidad = md("**Titularidad**"),
    ni = md("**ni**"),
    hi = md("Porcentual (%)"),
    fi = md("Fraccion")
  ) %>%
  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(TDFTitularidadcompleta))
  ) %>%
  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)
  )
DISTRIBUCION DE FRECUENCIAS DE POZOS PETROLEROS DE BRASIL
Titularidad de los pozos petroleros
Titularidad ni
Frecuencia Relativa
Porcentual (%) Fraccion
Confidencial 705 2.38 0.0238
Público 28870 97.62 0.9762
Total 29575 100.00 1.0000

6 Gráficas

6.1 Histograma de frecuencia absoluta local

Se representa la distribución en cantidad según la titularidad de los pozos, excluyendo el total.

TDFTitularidadcompleta_ <- TDFTitularidadcompleta[TDFTitularidadcompleta$Titularidad!= "Total", ]

barplot(TDFTitularidadcompleta_$ni,
        main = "Gráfica N°1: Distribución en cantidad según titularidad",
        xlab = "Titularidad", ylab = "Cantidad",
        col = "#263238", names.arg = TDFTitularidadcompleta_$Titularidad,
        las = 1, cex.names = 1, cex.axis = 0.8, cex.main = 1)

6.2 Histograma de frecuencia relativa local

Se representa la distribución porcentual según la titularidad de los pozos, sin incluir el total.

barplot(TDFTitularidadcompleta_$hi,
        main = "Gráfica N°3: Distribución porcentual según titularidad",
        xlab = "Titularidad", ylab = "Porcentaje",
        col = "#263238", names.arg = TDFTitularidadcompleta_$Titularidad,
        las = 1, cex.names = 1, cex.axis = 0.8, cex.main = 1)

6.3 Modelo de Probabilidad

Se construye un modelo empírico de probabilidad a partir de las frecuencias relativas de la titularidad de los pozos petroleros.

P_Titularidad <- TDFTitularidad1$ni / sum(TDFTitularidad1$ni)

# Etiquetas limpias para evitar el error de codificacion
etiquetas_titularidad <- c("Confidencial", "Público")

par(mar = c(9, 4, 4, 2))
barplot(P_Titularidad,
        main = "Gr\u00e1fica N\u00b03: Distribuci\u00f3n de Probabilidad seg\u00fan la titularidad de los pozos",
        xlab = "Titularidad", ylab = "Probabilidad",
        col = "#2E4053", names.arg = etiquetas_titularidad,
        las = 1, cex.names = 1, cex.axis = 0.9, cex.main = 1)

7 Probabilidad

¿Cuál es la probabilidad de que un pozo petrolero tenga titularidad pública?

titularidad_busqueda <- iconv(
  as.character(TDFTitularidad1$Titularidad),
  from = "latin1",
  to = "ASCII//TRANSLIT",
  sub = ""
)

fila_publico <- grepl("public", titularidad_busqueda, ignore.case = TRUE)

x <- round(
  (sum(TDFTitularidad1$ni[fila_publico]) / sum(TDFTitularidad1$ni)) * 100,
  1
)

cat("La probabilidad es de:", x, "%")
## La probabilidad es de: 97.6 %

La probabilidad obtenida indica que aproximadamente el 97,6% de los pozos petrolíferos en Brasil tienen titularidad pública.

¿Cuántos pozos petroleros pueden tener titularidad pública?

p <- x / 100

n <- 1000

cantidad_esperada <- n * p
titularidad_objetivo <- "Público"

cat("Para n =", n, "pozos, cantidad esperada de la titularidad", titularidad_objetivo, "=", round(cantidad_esperada, 2), "\n")
## Para n = 1000 pozos, cantidad esperada de la titularidad Público = 976

Se espera que aproximadamente 976 pozos petroleros tengan titularidad pública, por cada 1000 pozos considerados.