Grupos Geológicos
setwd("C:/Users/Usuario/Desktop/Nueva carpeta")
library(readxl)
library(dplyr)
library(gt)
datos <- read_excel("tabela_de_pocos_janeiro_2018.xlsx")
Se importan los datos originales de pozos petrolíferos y se verifica la estructura de las variables para garantizar su correcta lectura.
Se construye la tabla de frecuencias absolutas de la variable Geología grupo final, identificando la presencia de cada unidad geológica.
Las unidades geológicas se reclasifican en grupos mayores según su naturaleza geológica, reduciendo la dispersión categórica sin pérdida de información.
library(dplyr)
TDFGrupos_Finales$Grupo_Geologico <- ifelse(
TDFGrupos_Finales$Geologia %in% c(
"Apodi","Campos","Camamu","Espírito Santo","Sergipe","Lagoa Feia",
"Macaé","Guaratiba","Almada","Humberto de Campos","Balsas",
"Coruripe","Santo Amaro","Frade","Nativo","Perucaba","Areia Branca",
"Canindé","Marimari","Estância","Massacará","Brotas"
), "Cuencas sedimentarias",
ifelse(TDFGrupos_Finales$Geologia %in% c(
"Bambuí","Itararé","Serra Grande","Paranoá","Macaúbas"
), "Formaciones",
ifelse(TDFGrupos_Finales$Geologia %in% c(
"Espinhaço"
), "Provincias",
ifelse(TDFGrupos_Finales$Geologia %in% c(
"Barra Nova","Camburi","Itamambuca","Ilhas","Piaçabuçu"
), "Ambientes costeros",
ifelse(TDFGrupos_Finales$Geologia %in% c(
"Purus","Tefé","Trombetas","Rio do Peixe","Rio Ivaí","Urupadi"
), "Sistemas fluviales",
ifelse(TDFGrupos_Finales$Geologia %in% c(
"Pará","Paraná"
), "Regiones administrativas",
"Otros/Locales"
))))))
head(TDFGrupos_Finales)
## Geologia Freq Grupo_Geologico
## 1 25521 Otros/Locales
## 2 Afligidos 17 Otros/Locales
## 3 Agulha 7 Otros/Locales
## 4 Almada 6 Cuencas sedimentarias
## 5 Apodi 1144 Cuencas sedimentarias
## 6 Areia Branca 272 Cuencas sedimentarias
Se calculan la frecuencia absoluta (ni) y la frecuencia relativa (hi) para cada grupo geológico, permitiendo el análisis comparativo.
TDFGrupos_Finales$Freq <- as.numeric(TDFGrupos_Finales$Freq)
TDFGrupos_Finales1 <- TDFGrupos_Finales %>%
group_by(Grupo_Geologico) %>%
summarise(
ni = sum(Freq),
hi = round(ni / sum(TDFGrupos_Finales$Freq) * 100, 2))
TDFGrupos_Finales1 <- as.data.frame(TDFGrupos_Finales1)
TDFGrupos_Finales1
## Grupo_Geologico ni hi
## 1 Ambientes costeros 294 0.99
## 2 Cuencas sedimentarias 3601 12.18
## 3 Formaciones 35 0.12
## 4 Otros/Locales 25555 86.41
## 5 Provincias 13 0.04
## 6 Regiones administrativas 2 0.01
## 7 Sistemas fluviales 75 0.25
Se incorpora una fila de totales para verificar la consistencia de los resultados y confirmar el 100 % de participación relativa.
TDFGrupos_Finales1$fi <- TDFGrupos_Finales1$ni / sum(TDFGrupos_Finales1$ni)
TDFGrupos_Finales1 <- TDFGrupos_Finales1 [, c("Grupo_Geologico", "ni", "hi","fi")]
total_ni <- sum(TDFGrupos_Finales1$ni)
total_hi <- 100
total_fi <- sum(TDFGrupos_Finales1$fi)
TDFGrupos_Finales1.1 <- rbind(TDFGrupos_Finales1, data.frame( Grupo_Geologico = "Total",
ni = total_ni,
hi = total_hi,
fi = total_fi))
print(TDFGrupos_Finales1.1)
## Grupo_Geologico ni hi fi
## 1 Ambientes costeros 294 0.99 9.940828e-03
## 2 Cuencas sedimentarias 3601 12.18 1.217582e-01
## 3 Formaciones 35 0.12 1.183432e-03
## 4 Otros/Locales 25555 86.41 8.640744e-01
## 5 Provincias 13 0.04 4.395604e-04
## 6 Regiones administrativas 2 0.01 6.762468e-05
## 7 Sistemas fluviales 75 0.25 2.535926e-03
## 8 Total 29575 100.00 1.000000e+00
Los resultados se presentan en una tabla estadística formateada, facilitando la lectura e interpretación de las frecuencias.
library(gt)
gt(TDFGrupos_Finales1.1) %>%
tab_header(
title = md("**Tabla N°1: DISTRIBUCIÓN DE FRECUENCIAS DE POZOS PETROLEROS DE BRASIL**"),
subtitle = "Distibución de grupos geológicos de los pozos petrolíferos 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(TDFGrupos_Finales1.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 | |||
| Distibución de grupos geológicos de los pozos petrolíferos en Brasil | |||
| Grupo_Geologico | ni |
Frecuencia Relativa
|
|
|---|---|---|---|
| Porcentual (%) | Fracción | ||
| Ambientes costeros | 294 | 0.99 | 0.0099 |
| Cuencas sedimentarias | 3601 | 12.18 | 0.1218 |
| Formaciones | 35 | 0.12 | 0.0012 |
| Otros/Locales | 25555 | 86.41 | 0.8641 |
| Provincias | 13 | 0.04 | 0.0004 |
| Regiones administrativas | 2 | 0.01 | 0.0001 |
| Sistemas fluviales | 75 | 0.25 | 0.0025 |
| Total | 29575 | 100.00 | 1.0000 |
Representa la cantidad de pozos en cada grupo geológico sin considerar el total nacional.
TDFGrupos_Finales2 <- TDFGrupos_Finales1.1[TDFGrupos_Finales1.1$Grupo_Geologico != "Total", ]
par(mar = c(9, 4, 4, 2))
barplot(TDFGrupos_Finales2$ni,
main = "Gráfica N°1: Distribución en orden de cantidad de pozos petrolíferos por grupo geológico",
ylab = "Cantidad",
col = "#263238", names.arg = TDFGrupos_Finales2$Grupo_Geologico,
las = 2, cex.names = 0.8, cex.axis = 0.8, cex.main = 1)
mtext("Grupo", side = 1, line = 7)
Muestra la concentración total de pozos petrolíferos por grupo geológico a escala nacional.
par(mar = c(9, 4, 4, 2))
barplot(TDFGrupos_Finales2$ni,
main = "Gráfica N°2: Distribución en orden de cantidad de pozos petrolíferos por grupo geológico",
ylab = "Cantidad",
col = "#263238", names.arg = TDFGrupos_Finales2$Grupo_Geologico,
las = 2, cex.names = 0.8, cex.axis = 0.8, cex.main = 1,
ylim = c(0,30000))
mtext("Grupo", side = 1, line = 7)
Expresa la participación porcentual de cada grupo en el conjunto analizado.
par(mar = c(9, 4, 4, 2))
barplot(TDFGrupos_Finales2$hi,
main = "Gráfica N°3: Distribución porcentual de pozos petrolíferos por grupo geológico",
ylab = "Porcentaje",
col = "#263238", names.arg = TDFGrupos_Finales2$Grupo_Geologico,
las = 2, cex.names = 0.8, cex.axis = 0.8, cex.main = 1)
mtext("Grupo", side = 1, line = 7)
Permite comparar el peso relativo de cada grupo geológico dentro del total nacional.
par(mar = c(9, 4, 4, 2))
barplot(TDFGrupos_Finales2$hi,
main = "Gráfica N°4: Distribución porcentual de pozos petrolíferos por grupo geológico",
ylab = "Porcentaje",
col = "#263238", names.arg = TDFGrupos_Finales2$Grupo_Geologico,
las = 2, cex.names = 0.8, cex.axis = 0.8, cex.main = 1,
ylim = c(0,100))
mtext("Grupo", side = 1, line = 7)
Visualiza de forma proporcional la participación de cada grupo geológico en el total de pozos.
library(ggplot2)
library(ggrepel)
datos_plot <- TDFGrupos_Finales2
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
ggplot(datos_plot, aes(ymax = ymax, ymin = ymin,
xmax = 4, xmin = 1,
fill = Grupo_Geologico)) +
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_brewer(palette = "Blues") +
ggtitle("Gráfica N°5: Distribución porcentual de los pozos petrolíferos según grupo geológico") +
theme_void() +
theme(
legend.position = "right",
plot.title = element_text(hjust = 0),
legend.background = element_rect(color = "black", fill = "white", linewidth = 0.5),
legend.margin = margin(10, 10, 10, 10)
)
Conclusiones <- data.frame(
Variable = "Grupo geológico",
`Rango [Min; Max]` = "N/A",
`Media (X̄)` = "N/A",
`Mediana (Me)` = "N/A",
`Moda (Mo)` = "Otros/Locales",
`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 Grupos Geológicos 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 Grupos Geológicos 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 |
|---|---|---|---|---|---|---|---|---|---|---|
| Grupo geológico | N/A | N/A | N/A | Otros/Locales | N/A | N/A | N/A | N/A | N/A | N/A |
| Autor: Caleb Yanez | ||||||||||
El análisis de la variable grupo geológico evidencia que la moda corresponde a “Otros/Locales”, lo que indica una alta diversidad de unidades geológicas con baja frecuencia individual. Esta concentración en la moda refleja una distribución heterogénea, característica de variables cualitativas nominales, donde no es pertinente el cálculo de media, mediana o dispersión. En términos geológicos, esto sugiere que la actividad petrolera no se restringe a un único tipo de unidad dominante, sino que se distribuye en múltiples contextos geológicos.