Bloques de Concesión
setwd("C:/Users/Usuario/Desktop/Nueva carpeta")
library(readxl)
library(dplyr)
library(gt)
datos <- read_excel("tabela_de_pocos_janeiro_2018.xlsx")
Se establece el directorio de trabajo y se importan los datos originales, verificando su estructura para confirmar que las variables fueron reconocidas correctamente.
Aquí se obtiene la frecuencia absoluta de los diferentes estados operativos de los pozos.
Los bloques de concesión se agrupan según su denominación en regiones geográficas de Brasil, con el fin de facilitar un análisis espacial agregado.
TDFBloque$Region <- ifelse(is.na(TDFBloque$Bloque), "Sin información",
ifelse(grepl("^(POT|BPOT|REC|BREC|SEAL|BA|BT|PN|CE|AR|AL|SE|AG|RC|RP)", TDFBloque$Bloque), "Nordeste",
ifelse(grepl("^(BC|BS|ES|C-M|S-M|BM|BES|TUPI|LIBRA|LULA|BUZIOS|IARA|SP|RJ|CM|CF|CR)", TDFBloque$Bloque), "Sudeste",
ifelse(grepl("^(AM|SOL|FZA|AC|SF|SO)", TDFBloque$Bloque), "Norte",
ifelse(TDFBloque$Bloque %in% c("Brasil", "CP", "CAM", "ET", "RO", "FZB", "ARG", "MG", "DJM", "FP", "SZ", "FBM", "PIR", "CS"), "Campos Maduros/Genérico", "Otros")))))
TDFBloque$Region[TDFBloque$Region == "Sin información"] <- "Otros"
head(TDFBloque$Region)
## [1] "Otros" "Otros" "Otros" "Otros" "Otros" "Nordeste"
Se obtienen las frecuencias absoluta (ni) y relativa (hi) de los bloques agrupados por región, expresando esta última en porcentaje respecto del total.
TDFBloque$Freq <- as.numeric(as.character(TDFBloque$Freq))
library(dplyr)
TDFBloque_ <- Datos$TDFBloque
TDFBloque_ <- TDFBloque %>%
group_by(Region) %>%
summarise(
ni = sum(Freq),
hi = round(sum(Freq) / sum(TDFBloque$Freq)*100, 2))
TDFBloque_ <- data.frame(TDFBloque_)
Se incorpora una fila de totales a la tabla de frecuencias para consolidar la información y facilitar su interpretación estadística.
TDFBloque_ <- TDFBloque_ [, c("Region", "ni", "hi")]
TDFBloque_$fi <- TDFBloque_$ni / sum(TDFBloque_$ni)
total_ni <- sum(TDFBloque_$ni)
total_hi <- 100
total_fi <- sum(TDFBloque_$fi)
TDFBloque_1 <- rbind(TDFBloque_, data.frame(Region = "Total",
ni = total_ni,
hi = total_hi,
fi = total_fi))
print(TDFBloque_1)
## Region ni hi fi
## 1 Campos Maduros/Genérico 12633 42.72 0.427151310
## 2 Nordeste 3538 11.96 0.119628064
## 3 Norte 68 0.23 0.002299239
## 4 Otros 11654 39.40 0.394049028
## 5 Sudeste 1682 5.69 0.056872358
## 6 Total 29575 100.00 1.000000000
Se presenta la tabla final mediante un formato profesional utilizando la librería gt, optimizando la visualización y legibilidad de los resultados.
library(gt)
gt(TDFBloque_1) %>%
tab_header(
title = md("**Tabla N°1: DISTRIBUCIÓN DE FRECUENCIAS DE POZOS PETROLEROS DE BRASIL**"),
subtitle = "Distribución de los Bloques de Concesión por Ubicación") %>%
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(TDFBloque_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 | |||
| Distribución de los Bloques de Concesión por Ubicación | |||
| Region | ni |
Frecuencia Relativa
|
|
|---|---|---|---|
| Porcentual (%) | Fracción | ||
| Campos Maduros/Genérico | 12633 | 42.72 | 0.4272 |
| Nordeste | 3538 | 11.96 | 0.1196 |
| Norte | 68 | 0.23 | 0.0023 |
| Otros | 11654 | 39.40 | 0.3940 |
| Sudeste | 1682 | 5.69 | 0.0569 |
| Total | 29575 | 100.00 | 1.0000 |
El histograma muestra la cantidad de bloques por región sin considerar el total, permitiendo comparar visualmente las categorías.
TDFBloque_2 <- TDFBloque_1[TDFBloque_1$Region!= "Total", ]
par(mar = c(9, 4, 4, 2))
barplot(TDFBloque_2$ni,
main = "Gráfica N°1: Distribución en cantidad de los bloques de concesión por ubicación",
ylab = "Cantidad",
col = "#2E4053", names.arg = TDFBloque_2$Region,
las = 2, cex.names = 0.79, cex.axis = 0.8, cex.main = 1)
mtext("Región", side = 1, line = 7)
Se amplía la escala del eje vertical para resaltar regiones con mayor concentración de bloques de concesión.
par(mar = c(9, 4, 4, 2))
barplot(TDFBloque_2$ni,
main = "Gráfica N°1: Distribución en cantidad de los bloques de concesión por ubicación",
ylab = "Cantidad",
col = "#2E4053", names.arg = TDFBloque_2$Region,
las = 2, cex.names = 0.79, cex.axis = 0.8, cex.main = 1,
ylim = c(0,30000))
mtext("Región", side = 1, line = 7)
Este gráfico representa el peso porcentual de cada región respecto del total de bloques analizados.
par(mar = c(9, 4, 4, 2))
barplot(TDFBloque_2$hi,
main = "Gráfica N°3: Distribución en porcentaje de los bloques de concesión por ubicación",
ylab = "Porcentaje",
col = "#2E4053", names.arg = TDFBloque_2$Region,
las = 2, cex.names = 0.79, cex.axis = 0.8, cex.main = 1)
mtext("Región", side = 1, line = 7)
Se ajusta el eje vertical al 100 % para una interpretación directa de la participación relativa de cada región.
par(mar = c(9, 4, 4, 2))
barplot(TDFBloque_2$hi,
main = "Gráfica N°4: Distribución en porcentaje de los bloques de concesión por ubicación",
ylab = "Porcentaje",
col = "#2E4053", names.arg = TDFBloque_2$Region,
las = 2, cex.names = 0.79, cex.axis = 0.8, cex.main = 1)
mtext("Región", side = 1, line = 7)
El diagrama circular muestra la proporción de bloques por región, facilitando la identificación de las zonas predominantes.
library(ggplot2)
library(ggrepel)
TDFBloque_2 <- TDFBloque_2[TDFBloque_2$Region != "Otros", ]
datos_plot <- TDFBloque_2
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=Region)) +
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 los bloques de concesión por ubicación") +
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))
Conclusiones <- data.frame(
Variable = "Bloques por Ubicación",
`Rango [Min; Max]` = "N/A",
`Media (X̄)` = "N/A",
`Mediana (Me)` = "N/A",
`Moda (Mo)` = "Campos Maduros/Genéricos",
`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 los Bloques de Concesión por Ubicación de los Pozos Petroleros 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 los Bloques de Concesión por Ubicación de los Pozos Petroleros 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 |
|---|---|---|---|---|---|---|---|---|---|---|
| Bloques por Ubicación | N/A | N/A | N/A | Campos Maduros/Genéricos | N/A | N/A | N/A | N/A | N/A | N/A |
| Autor: Caleb Yanez | ||||||||||
Dentro del conjunto de datos, la distribución de los bloques de concesión por ubicación evidencia como ubicación más frecuente a la categoría “Campos Maduros/Genéricos”; esta alta concentración indica que dicha categoría constituye la moda de la variable.