Análisis estadístico de las cuencas petrolíferas

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

1 Carga de datos y exploración inicial

Importación del archivo y revisión de la estructura del conjunto de datos.

2 Tabla de distribución de frecuencia por cuenca

Construcción de la tabla de frecuencias absolutas.

3 Agrupación de cuencas por regiones

Clasificación de las cuencas petrolíferas en macro-regiones.

library(dplyr)
TDFCuencas$CUENCAS <- ifelse(TDFCuencas$Cuenca %in% c("Acre", "Amazonas", "Solimões", "Foz do Amazonas", "Marajó", "Tacutu", "Parecis - Alto Xingu"), "Cuencas del Norte",
                                 ifelse(TDFCuencas$Cuenca %in% c("Alagoas", "Araripe", "Barreirinhas", "Bragança - Vizeu", "Camamu", "Ceará", "Cumuruxatiba", "Jatobá", "Parnaíba", "Pernambuco - Paraíba", "Potiguar", "Recôncavo", "Rio do Peixe", "Sergipe", "São Francisco", "São Luís", "Tucano Central", "Tucano Norte", "Tucano Sul"),"Cuencas del Nordeste",
                                        ifelse(TDFCuencas$Cuenca %in% c("Campos", "Espírito Santo", "Santos"), "Cuencas del Sudeste",
                                               ifelse(TDFCuencas$Cuenca %in% c("Paraná", "Pelotas"), "Cuencas del Sur",
                                                      ifelse(TDFCuencas$Cuenca %in% c("Pantanal", "Almada", "Mucuri", "Jequitinhonha", "Pará - Maranhão"),"Cuencas del Centro-Oeste", "Otros")))))
head(TDFCuencas$CUENCAS)
## [1] "Otros" "Otros" "Otros" "Otros" "Otros" "Otros"

4 Cálculo de frecuencias absolutas y relativas

Obtención de ni y hi por grupo de cuencas.

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

TDFCuencas1 <- data.frame(TDFCuencas1)

5 Construcción del cuadro con totales

Incorporación de la fila total al cuadro de frecuencias.

TDFCuencas1 <- TDFCuencas1 [, c("CUENCAS", "ni", "hi")]
TDFCuencas1$fi <- TDFCuencas1$ni / sum(TDFCuencas1$ni)
total_ni <- sum(TDFCuencas1$ni) 
total_hi <- sum(TDFCuencas1$hi)
total_fi <- sum(TDFCuencas1$fi)
TDFCuencas1.1 <- rbind(TDFCuencas1, data.frame( CUENCAS = "Total",
                                                         ni = total_ni,
                                                         hi = total_hi,
                                                         fi = total_fi))
print(TDFCuencas1.1)
##                    CUENCAS    ni       hi           fi
## 1 Cuencas del Centro-Oeste   133  0.44970 0.0044970414
## 2     Cuencas del Nordeste 15257 51.58749 0.5158748943
## 3        Cuencas del Norte   332  1.12257 0.0112256974
## 4      Cuencas del Sudeste  4124 13.94421 0.1394420964
## 5          Cuencas del Sur    20  0.06762 0.0006762468
## 6                    Otros  9709 32.82840 0.3282840237
## 7                    Total 29575 99.99999 1.0000000000

6 Presentación del cuadro estadístico

Visualización del cuadro de distribución mediante tabla formal.

library(gt)
gt(TDFCuencas1.1) %>%
  tab_header( 
    title = md("**Tabla N°1: DISTRIBUCIÓN DE FRECUENCIAS DE POZOS PETROLEROS DE BRASIL**"), 
    subtitle = "Cuencas Petrolíferas 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(TDFCuencas1.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
Cuencas Petrolíferas en Brasil
CUENCAS ni
Frecuencia Relativa
Porcentual (%) Fracción
Cuencas del Centro-Oeste 133 0.45 0.0045
Cuencas del Nordeste 15257 51.59 0.5159
Cuencas del Norte 332 1.12 0.0112
Cuencas del Sudeste 4124 13.94 0.1394
Cuencas del Sur 20 0.07 0.0007
Otros 9709 32.83 0.3283
Total 29575 100.00 1.0000

7 Gráficas

7.1 Histograma de frecuencia absoluta local

Distribución en cantidad considerando la escala total.

TDFCuencas1.1 <- TDFCuencas1.1[TDFCuencas1.1$CUENCAS != "Total", ]
par(mar = c(9, 4, 4, 2))
barplot(TDFCuencas1.1$ni,
        main = "Gráfica N°1: Distribución en cantidad de cuencas por región",
        ylab = "Cantidad",
        col = "#2E4053", names.arg = TDFCuencas1.1$CUENCAS,
        las = 2, cex.names = 0.8, cex.axis = 0.8, cex.main = 1)
mtext("Cuencas", side = 1, line = 7)

7.2 Histograma de frecuencia absoluta global

Distribución en cantidad considerando la escala total.

par(mar = c(9, 4, 4, 2))
barplot(TDFCuencas1.1$ni,
        main = "Gráfica N°1: Distribución en cantidad de cuencas por región",
        ylab = "Cantidad",
        col = "#2E4053", names.arg = TDFCuencas1.1$CUENCAS,
        las = 2, cex.names = 0.8, cex.axis = 0.8, cex.main = 1,
        ylim = c(0,30000)) 
mtext("Cuencas", side = 1, line = 7)

7.3 Histograma de frecuencia relativa local

Distribución porcentual sin ajuste de escala global.

par(mar = c(9, 4, 4, 2))
barplot(TDFCuencas1.1$hi,
        main = "Gráfica N°3: Distribución porcentual de cuencas por región",
        ylab = "Porcentaje",
        col = "#2E4053", names.arg = TDFCuencas1.1$CUENCAS,
        las = 2, cex.names = 0.8, cex.axis = 0.8, cex.main = 1)
mtext("Cuencas", side = 1, line = 7)

7.4 Histograma de frecuencia relativa global

Distribución porcentual con escala total.

par(mar = c(9, 4, 4, 2))
barplot(TDFCuencas1$hi,
        main = "Gráfica N°3: Distribución porcentual de cuencas por región",
        ylab = "Porcentaje",
        col = "#2E4053", names.arg = TDFCuencas1.1$CUENCAS,
        las = 2, cex.names = 0.8, cex.axis = 0.8, cex.main = 1,
        ylim = c(0,100))
mtext("Cuencas", side = 1, line = 7)

7.5 Diagrama circular de frecuencia relativa

Representación porcentual de las cuencas por región.

library(ggplot2)
library(ggrepel)
TDFCuencas1.1 <- TDFCuencas1.1[TDFCuencas1.1$CUENCAS != "Otros", ]
datos_plot <- TDFCuencas1.1
datos_plot$ymax <- cumsum(datos_plot$hi)
datos_plot$ymin <- c(0, head(datos_plot$ymax, n=-1))
datos_plot$posicion_label <- (datos_plot$ymax + datos_plot$ymin) / 2

mis_colores <- c("#B0B8C1", "#D9E0E6", "#1F3B6E", "#4C6BA7", "#7D9BC8")

ggplot(datos_plot, aes(ymax=ymax, ymin=ymin, xmax=4, xmin=2, fill=CUENCAS)) +
  geom_rect(color = "black") +
  coord_polar(theta="y") +

  geom_label_repel(aes(y = posicion_label, x = 4, label = paste0(round(hi, 2))),
                   size = 4, 
                   nudge_x = 0.5,  
                   show.legend = FALSE) +
  
  scale_fill_manual(values = mis_colores) +
  ggtitle("Gráfica N°5: Distribución porcentual de cuencas por región en Brasil") +
theme_void() + 
  theme(legend.position = "right", 
        plot.title = element_text(hjust = 0), 
        legend.background = element_rect(color = "black", 
                                     fill = "white",    
                                     linewidth = 0.5, 
                                     linetype = "solid"),
  legend.margin = margin(t = 10, r = 10, b = 10, l = 10))

8 Resumen Estadístico

El presente resumen sintetiza los indicadores descriptivos de la distribución de las cuencas petrolíferas por regiones de Brasil. Dado que la variable es cualitativa nominal, la única medida de tendencia central aplicable es la moda

Conclusiones <- data.frame(
Variable = "Cuencas por regiones de Brasil",
`Rango [Min; Max]` = "N/A",
`Media (X̄)` = "N/A",
`Mediana (Me)` = "N/A",
`Moda (Mo)` = "Cuencas del Nordeste",
`Varianza (S²)` = "N/A",
`Desv. Est. (S)` = "N/A",
`C.V. (%)` = "N/A",
`Asimetría (As)` = "N/A",
`Curtosis (K)` = "N/A",
`Valores Atípicos` = "N/A",
check.names = FALSE
)
library(gt)

gt(Conclusiones) %>%
tab_header(
title = md("**CONCLUSIONES Y ESTADÍSTICOS**"),
subtitle = "Resumen de Indicadores de las Cuencas de los Pozos Petrolíferos en Brasil") %>%
tab_source_note(source_note = "Autor: Caleb Yanez ") %>%
  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_options(
    table.border.top.color = "#2E4053",
    table.border.bottom.color = "#2E4053",
    column_labels.border.bottom.color = "#2E4053",
    data_row.padding = px(6))
CONCLUSIONES Y ESTADÍSTICOS
Resumen de Indicadores de las Cuencas de los Pozos Petrolíferos en Brasil
Variable Rango [Min; Max] Media (X̄) Mediana (Me) Moda (Mo) Varianza (S²) Desv. Est. (S) C.V. (%) Asimetría (As) Curtosis (K) Valores Atípicos
Cuencas por regiones de Brasil N/A N/A N/A Cuencas del Nordeste N/A N/A N/A N/A N/A N/A
Autor: Caleb Yanez

8.1 Conclusiones

8.2 Análisis Descriptivo

La moda corresponde a las Cuencas del Nordeste, lo que evidencia que esta región concentra la mayor cantidad de cuencas petrolíferas del país. Este resultado refleja la relevancia geológica y energética del Nordeste dentro de la distribución regional de los recursos petroleros en Brasil.