Se define la ruta del archivo y se procede a importar la base de datos desde Excel.
Se determina la frecuencia absoluta de las empresas operadoras.
Operador <- datos$OPERADOR
TDFOperador <- as.data.frame(table(Operador))
colnames(TDFOperador) <- c("Operador","Freq")
Se realiza la clasificación de los operadores según su tipo de empresa.
TDFOperador$Operadores <- ifelse(TDFOperador$Operador %in% c("Petrobras"), "Empresa Nacional Estatal",
ifelse(TDFOperador$Operador %in% c("PetroRio O&G","Recôncavo E&P","Dommo Energia","Parnaíba Gás Natural","Petra Energia","Petrosynergy","Petroil","Queiroz Galvão","SHB","Santana","Imetame","Panergy","OP Energia","Vipetro","Guto & Cacal","Espigão","Oeste de Canoas","Nova Petróleo Rec","Norteoleum","Nord","Newo","Máxima 07","Marítima","Alvopetro","Allpetro","Alcom","Aurizônia Petróleo","Arclima","Central Resources","Cemes","Perícia"),
"Empresas Nacionales Privadas",
ifelse(TDFOperador$Operador %in% c("Shell","Shell Brasil","BP","BP Brasil","BP Energy","Total E&P do Brasil","Chevron Brasil","Chevron Frade","ExxonMobil Brasil","Equinor","Statoil Brasil","Statoil Brasil O&G","Repsol Sinopec","Eni Oil","BG Brasil","Petrogal Brasil","Rosneft"),
"Empresas Extranjeras Mayores",
ifelse(TDFOperador$Operador %in% c("Wintershall BM-S-14","Unocal","Texaco BM-C-5","Devon Brasil","Amerada Hess","Anadarko","Cowan Petróleo e Gás","ONGC Campos","Partex Brasil","Perenco Brasil","Karoon","Maha Energy","Geopark Brasil","Great Oil","Silver Marlin","Sipet","Tek","Tecpetrol Brasil","Leros","Phoenix","Cisco","EPG Brasil","Esso Expl Offshore","Esso Explor e Des","IPI","Integral"),
"Empresas Extranjeras Independientes","Otros"))))
head(TDFOperador)
## Operador Freq Operadores
## 1 Alcom 11 Empresas Nacionales Privadas
## 2 Allpetro 1 Empresas Nacionales Privadas
## 3 Alvopetro 16 Empresas Nacionales Privadas
## 4 Amerada Hess 3 Empresas Extranjeras Independientes
## 5 Anadarko 15 Empresas Extranjeras Independientes
## 6 Arclima 1 Empresas Nacionales Privadas
Se calcula la distribución de frecuencias absoluta (ni) y relativa (hi) para cada grupo.
TDFOperador$Freq <- as.numeric(TDFOperador$Freq)
TDFOperador1 <- TDFOperador %>%
group_by(Operadores) %>%
summarise(
ni = sum(Freq),
hi = round(sum(Freq)/sum(TDFOperador$Freq)*100,2)
)
TDFOperador1
## # A tibble: 5 × 3
## Operadores ni hi
## <chr> <dbl> <dbl>
## 1 Empresa Nacional Estatal 25142 94.4
## 2 Empresas Extranjeras Independientes 164 0.62
## 3 Empresas Extranjeras Mayores 414 1.55
## 4 Empresas Nacionales Privadas 894 3.36
## 5 Otros 29 0.11
Se incorpora la fila de totales para las frecuencias absoluta y relativa.
TDFOperador1 <- TDFOperador1 [, c("Operadores", "ni", "hi")]
total_ni <- sum(TDFOperador1$ni)
total_hi <- 100
TDFOPERADORCOMPLETA <- rbind(TDFOperador1, data.frame(Operadores = "Total",
ni = total_ni,
hi = total_hi))
print(TDFOPERADORCOMPLETA)
## # A tibble: 6 × 3
## Operadores ni hi
## <chr> <dbl> <dbl>
## 1 Empresa Nacional Estatal 25142 94.4
## 2 Empresas Extranjeras Independientes 164 0.62
## 3 Empresas Extranjeras Mayores 414 1.55
## 4 Empresas Nacionales Privadas 894 3.36
## 5 Otros 29 0.11
## 6 Total 26643 100
Se presenta la tabla con formato claro y profesional.
library(gt)
gt(TDFOPERADORCOMPLETA) %>%
tab_header(
title = md("**Cuadro No.1**"),
subtitle = "Operadores de los pozos petrolíferos en Brasil") %>%
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))
| Cuadro No.1 | ||
| Operadores de los pozos petrolíferos en Brasil | ||
| Operadores | ni | hi |
|---|---|---|
| Empresa Nacional Estatal | 25142 | 94.37 |
| Empresas Extranjeras Independientes | 164 | 0.62 |
| Empresas Extranjeras Mayores | 414 | 1.55 |
| Empresas Nacionales Privadas | 894 | 3.36 |
| Otros | 29 | 0.11 |
| Total | 26643 | 100.00 |
Se representa gráficamente la frecuencia absoluta de cada grupo.
TDFOPERADORCOMPLETA<- TDFOPERADORCOMPLETA[TDFOPERADORCOMPLETA$Operadores != "Total", ]
par(mar = c(12, 4, 4, 2))
barplot(TDFOPERADORCOMPLETA$ni,
main = "Gráfica N°1: Distribución en cantidad de operadores",
ylab = "Cantidad",
col = "#2E4053", names.arg = TDFOPERADORCOMPLETA$Operadores,
las = 2, cex.names = 0.6, cex.axis = 0.8, cex.main = 1)
mtext("Operadores", side = 1, line = 9, adj = 0.5)
Se muestra la distribución de la frecuencia absoluta con un rango ampliado en el eje Y.
par(mar = c(12, 4, 4, 2))
barplot(TDFOPERADORCOMPLETA$ni,
main = "Gráfica N°2: Distribución en cantidad de operadoreS",
ylab = "Cantidad",
col = "#2E4053", names.arg = TDFOPERADORCOMPLETA$Operadores,
las = 2, cex.names = 0.6, cex.axis = 0.8, cex.main = 1,
ylim = c(0,30000))
mtext("Operadores", side = 1, line = 9, adj = 0.5)
Se presenta la distribución porcentual de cada categoría.
par(mar = c(12, 4, 4, 2))
barplot(TDFOPERADORCOMPLETA$hi,
main = "Gráfica N°3: Distribución en porcentaje de participación de operadores",
ylab = "Porcentaje",
col = "#2E4053", names.arg = TDFOPERADORCOMPLETA$Operadores,
las = 2, cex.names = 0.6, cex.axis = 0.8, cex.main = 1)
mtext("Operadores", side = 1, line = 9, adj = 0.5)
Se presenta la gráfica porcentual con un límite superior de 100 %.
par(mar = c(12, 4, 4, 2))
barplot(TDFOPERADORCOMPLETA$hi,
main = "Gráfica N°4: Distribución en porcentaje de participación de operadoreS",
ylab = "Porcentaje",
col = "#2E4053", names.arg = TDFOPERADORCOMPLETA$Operadores,
las = 2, cex.names = 0.6, cex.axis = 0.8, cex.main = 1,
ylim = c(0,100))
mtext("Operadores", side = 1, line = 9, adj = 0.5)
library(ggplot2)
library(ggrepel)
datos_plot <- TDFOPERADORCOMPLETA
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
colores <- c("#90CFFF", "#966BFF", "#FF6A8B", "#FFA88B", "#CCDE8B", "#20DE8B")
ggplot(datos_plot, aes(ymax=ymax, ymin=ymin, xmax=4, xmin=0, fill=Operadores)) +
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 = colores) +
ggtitle("Gráfica N°5: Distribución porcentual de operadores") +
theme_void()+
theme(
legend.position = "right",
plot.title = element_text(hjust = 0.5),
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 = "Tipo de operador petrolero",
`Rango [Min; Max]` = "N/A",
`Media (X̄)` = "N/A",
`Mediana (Me)` = "N/A",
`Moda (Mo)` = "Empresa Nacional Estatal",
`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 descriptivos"
) %>%
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 descriptivos | ||||||||||
| 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 |
|---|---|---|---|---|---|---|---|---|---|---|
| Tipo de operador petrolero | N/A | N/A | N/A | Empresa Nacional Estatal | N/A | N/A | N/A | N/A | N/A | N/A |
| Autor: Caleb Yanez | ||||||||||
La moda corresponde a la categoría Empresa Nacional Estatal, ya que es el tipo de operador que presenta la mayor frecuencia dentro del conjunto de pozos petrolíferos analizados.