Formacion al final del pozo `
setwd("C:/Users/Usuario/Desktop/Nueva carpeta")
library(readxl)
library(dplyr)
library(gt)
datos <- read_excel("tabela_de_pocos_janeiro_2018.xlsx")
Se procede a la preparación de las herramientas de trabajo y a la apertura del archivo con la base de datos de los pozos petroleros de Brasil
Se realiza un conteo general para determinar cuántas formaciones distintas existen antes de su organización
Se realiza la traducción de los nombres técnicos, la identificación de datos faltantes y la agrupación de los registros
library(dplyr)
library(forcats)
TDF_Agrupada_F <- Datos %>%
mutate(GEOFF_Agrupado = ifelse(GEOLOGIA_FORMACAO_FINAL == "" | is.na(GEOLOGIA_FORMACAO_FINAL),
"Sin Información",
GEOLOGIA_FORMACAO_FINAL)) %>%
mutate(GEOFF_Agrupado = recode(GEOFF_Agrupado,
"Embasamento" = "Roca Base",
"Açu" = "Form. Açu",
"Pendência" = "Form. Pendencia",
"Ubatuba" = "Form. Ubatuba",
"Sergi" = "Form. Sergi",
"Urucutuca" = "Form. Urucutuca",
"Carapebus" = "Form. Carapebus",
"Barra de Itiuba" = "Barra de Itiúba",
"São Mateus" = "Form. San Mateo")) %>%
# Agrupamos en 4 principales + 1 "Otras" = 5 grupos en total
mutate(GEOFF_Agrupado = fct_lump_n(GEOFF_Agrupado, n = 4, other_level = "Otras Formaciones")) %>%
count(GEOFF_Agrupado, name = "Freq")
print(TDF_Agrupada_F)
## GEOFF_Agrupado Freq
## 1 Form. Açu 1133
## 2 Form. Ubatuba 257
## 3 Roca Base 748
## 4 Sin Información 24630
## 5 Otras Formaciones 2807
Calcula la cantidad exacta de pozos y el porcentaje que representa cada grupo sobre el total nacional.
TDF_Agrupada_F$GEOFF_Agrupado <- as.character(TDF_Agrupada_F$GEOFF_Agrupado)
TDF_Agrupada_F1<- TDF_Agrupada_F %>%
group_by(GEOFF_Agrupado) %>%
summarise(
ni = sum(Freq),
hi = round(ni / sum(TDF_Agrupada_F$Freq) * 100, 2)) %>%
arrange(desc(ni))
TDF_Agrupada_F1 <- as.data.frame(TDF_Agrupada_F1)
TDF_Agrupada_F1
## GEOFF_Agrupado ni hi
## 1 Sin Información 24630 83.28
## 2 Otras Formaciones 2807 9.49
## 3 Form. Açu 1133 3.83
## 4 Roca Base 748 2.53
## 5 Form. Ubatuba 257 0.87
Se organizan las columnas finales y se añade una fila de ‘Total’ para garantizar que el análisis represente el 100% de los datos
TDF_Agrupada_F1$fi <- TDF_Agrupada_F1$ni / sum(TDF_Agrupada_F1$ni)
colnames(TDF_Agrupada_F1)[colnames(TDF_Agrupada_F1) == "GEOFF_Agrupado"] <- "Forma_Geo_Final"
TDF_Agrupada_F1 <- TDF_Agrupada_F1[, c("Forma_Geo_Final", "ni", "hi","fi")]
total_ni <- sum(TDF_Agrupada_F1$ni)
total_hi <- sum((TDF_Agrupada_F1$hi))
total_fi <- sum((TDF_Agrupada_F1$fi))
TDF_Agrupada_F1.1 <- rbind(TDF_Agrupada_F1, data.frame( Forma_Geo_Final = "Total",
ni = total_ni,
hi = total_hi,
fi = total_fi))
print(TDF_Agrupada_F1.1)
## Forma_Geo_Final ni hi fi
## 1 Sin Información 24630 83.28 0.832797971
## 2 Otras Formaciones 2807 9.49 0.094911243
## 3 Form. Açu 1133 3.83 0.038309383
## 4 Roca Base 748 2.53 0.025291631
## 5 Form. Ubatuba 257 0.87 0.008689772
## 6 Total 29575 100.00 1.000000000
library(gt)
gt(TDF_Agrupada_F1.1) %>%
tab_header(
title = md("**Tabla N°1: DISTRIBUCIÓN DE FRECUENCIAS DE POZOS PETROLEROS DE BRASIL**"),
subtitle = "Distibución de Formación al final del pozo 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(TDF_Agrupada_F1.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 Formación al final del pozo de los pozos petrolíferos en Brasil | |||
| Forma_Geo_Final | ni |
Frecuencia Relativa
|
|
|---|---|---|---|
| Porcentual (%) | Fracción | ||
| Sin Información | 24630 | 83.28 | 0.8328 |
| Otras Formaciones | 2807 | 9.49 | 0.0949 |
| Form. Açu | 1133 | 3.83 | 0.0383 |
| Roca Base | 748 | 2.53 | 0.0253 |
| Form. Ubatuba | 257 | 0.87 | 0.0087 |
| Total | 29575 | 100.00 | 1.0000 |
Se representan los datos numéricos mediante gráficos de barras y circulares para identificar tendencias de forma visual
TDF_Agrupada_F_g <- TDF_Agrupada_F1[TDF_Agrupada_F1$Forma_Geo_Final != "Total", ]
par(mar = c(9, 4, 4, 2))
barplot(TDF_Agrupada_F_g$ni,
main = "Gráfica N°1: Distribución de pozos petrolíferos por Formación\nal final del pozo ",
ylab = "Cantidad",
col = "#263238", names.arg = TDF_Agrupada_F_g$Forma_Geo_Final,
las = 2, cex.names = 0.8, cex.axis = 0.8, cex.main = 1)
mtext("Grupo", side = 1, line = 7)
par(mar = c(9, 4, 4, 2))
barplot(TDF_Agrupada_F_g$ni,
main = "Gráfica N°2: Distribución de pozos petrolíferos por\nFormación al final del pozo",
ylab = "Cantidad",
col = "#263238", names.arg = TDF_Agrupada_F_g$Forma_Geo_Final,
las = 2, cex.names = 0.8, cex.axis = 0.8, cex.main = 1,
ylim = c(0,30000))
mtext("Grupo", side = 1, line = 7)
par(mar = c(9, 4, 4, 2))
barplot(TDF_Agrupada_F_g$hi,
main = "Gráfica N°3: Distribución porcentual de pozos petrolíferos por\nFormación al final del pozo",
ylab = "Porcentaje",
col = "#263238", names.arg = TDF_Agrupada_F_g$Forma_Geo_Final,
las = 2, cex.names = 0.8, cex.axis = 0.8, cex.main = 1)
mtext("Grupo", side = 1, line = 7)
par(mar = c(9, 4, 4, 2))
barplot(TDF_Agrupada_F_g$hi,
main = "Gráfica N°4: Distribución porcentual de pozos petrolíferos por\nFormación al final del pozo",
ylab = "Porcentaje",
col = "#263238", names.arg = TDF_Agrupada_F_g$Forma_Geo_Final,
las = 2, cex.names = 0.8, cex.axis = 0.8, cex.main = 1,
ylim = c(0,100))
mtext("Grupo", side = 1, line = 7)
library(ggplot2)
library(ggrepel)
datos_plot <- TDF_Agrupada_F_g
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 = Forma_Geo_Final)) +
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 pozos petrolíferos por\nFormación al final del pozo") +
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 = "Formación al Final del Pozo",
`Rango [Min; Max]` = "N/A",
`Media (X̄)` = "N/A",
`Mediana (Me)` = "N/A",
`Moda (Mo)` = "Sin Información",
`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 Formación al Final del Pozode 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 Formación al Final del Pozode 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 |
|---|---|---|---|---|---|---|---|---|---|---|
| Formación al Final del Pozo | N/A | N/A | N/A | Sin Información | N/A | N/A | N/A | N/A | N/A | N/A |
| Autor: Caleb Yanez | ||||||||||
El análisis de la formación al final de los pozos muestra que la categoría modal es ‘Sin Información’, lo que indica una alta proporción de registros sin detalle técnico de la roca final. Al agrupar en cinco categorías, se observa una distribución heterogénea entre formaciones específicas como Açu o Ubatuba y un conjunto de ‘Otras Formaciones’. Al ser una variable cualitativa, el análisis se basa únicamente en frecuencias y porcentajes