NOMBRE DE LA EMPRESA OPERADORA DEL POZO
Se establece el directorio de trabajo y se importa la base de datos con codificación Latin1.
setwd("C:/Users/Usuario/Desktop/TRABAJO DE ESTADISTICA/PDF-EXCEL-QGIS")
Datos <- read.csv("Pozos brasil 2.csv",header = TRUE, sep = ";", dec = ",", fileEncoding = "Latin1")
str(Datos)
## 'data.frame': 29575 obs. of 59 variables:
## $ POCO : chr "7-RO-123HP-RJS" "1-BP-7-RJS" "7-ARGO-4H-ESS" "7-ARGO-5H-ESS" ...
## $ CADASTRO : num 7.43e+10 7.43e+10 3.43e+10 3.43e+10 3.43e+10 ...
## $ OPERADOR : chr "Petrobras" "BP Energy" "Shell Brasil" "Shell Brasil" ...
## $ POCO_OPERADOR : chr "7RO123HPRJS" "ANU" "7ARGO4HESS" "7ARGO5HESS" ...
## $ ESTADO : chr "RJ" "RJ" "ES" "ES" ...
## $ BACIA : chr "Campos" "Campos" "Campos" "Campos" ...
## $ BLOCO : chr "" "C-M-473" "" "" ...
## $ SIG_CAMPO : chr "RO " "" "ARGO " "ARGO " ...
## $ CAMPO : chr "RONCADOR" "" "ARGONAUTA" "ARGONAUTA" ...
## $ TERRA_MAR : chr "M" "M" "M" "M" ...
## $ POCO_POS_ANP : chr "S" "S" "S" "S" ...
## $ TIPO : chr "Explotatório" "Exploratório" "Explotatório" "Explotatório" ...
## $ CATEGORIA : chr "Desenvolvimento" "Pioneiro" "Desenvolvimento" "Desenvolvimento" ...
## $ RECLASSIFICACAO : chr "PRODUTOR COMERCIAL DE PETRÓLEO" "PORTADOR DE PETRÓLEO" "ABANDONADO POR OUTRAS RAZÕES" "INDEFINIDO" ...
## $ SITUACAO : chr "PRODUTOR" "ABANDONADO POR LOGÍSTICA EXPLORATÓRIA" "ABANDONADO DEFINITIVAMENTE" "PRODUTOR" ...
## $ INICIO : chr "03/03/2012" "14/03/2012" "12/04/2012" "14/04/2012" ...
## $ TERMINO : chr "10/03/2013" "20/09/2012" "19/09/2012" "02/05/2013" ...
## $ CONCLUSAO : chr "10/03/2013" "19/10/2012" "28/09/2012" "13/05/2013" ...
## $ TITULARIDADE : chr "Público" "Público" "Público" "Público" ...
## $ LATITUDE_BASE_4C : chr "-21:57:45,630" "-23:06:09,622" "-21:08:06,801" "-21:08:12,535" ...
## $ LONGITUDE_BASE_4C : chr "-39:44:01,130" "-40:00:41,295" "-39:46:53,226" "-39:46:49,296" ...
## $ LATITUDE_BASE_DD : num -22 -23.1 -21.1 -21.1 -21.1 ...
## $ LONGITUDE_BASE_DD : num -39.7 -40 -39.8 -39.8 -39.8 ...
## $ DATUM_HORIZONTAL : chr "SIRGAS2000" "SIRGAS2000" "SIRGAS2000" "SIRGAS2000" ...
## $ TIPO_DE_COORDENADA_DE_BASE: chr "Definitiva" "Definitiva" "Definitiva" "Definitiva" ...
## $ DIRECAO : chr "Horizontal" "Vertical" "Horizontal" "Horizontal" ...
## $ PROFUNDIDADE_VERTICAL_M : num -3145 6900 2937 2934 2953 ...
## $ PROFUNDIDADE_SONDADOR_M : num 4050 6925 3809 4575 4570 ...
## $ PROFUNDIDADE_MEDIDA_M : num 4050 6925 3809 4575 4570 ...
## $ REFERENCIA_DE_PROFUNDIDADE: chr "MR" "MR" "MR" "MR" ...
## $ MESA_ROTATIVA : num 24 25 24.2 24.2 24.2 ...
## $ COTA_ALTIMETRICA_M : num 0 0 0 0 0 ...
## $ LAMINA_D_AGUA_M : num 1827 2730 1706 1705 1654 ...
## $ DATUM_VERTICAL : chr "NM" "NM" "NM" "NM" ...
## $ UNIDADE_ESTRATIGRAFICA : chr "" "" "" "" ...
## $ GEOLOGIA_GRUPO_FINAL : chr "Campos" "Lagoa Feia" "Campos" "Campos" ...
## $ GEOLOGIA_FORMACAO_FINAL : chr "Carapebus" "Macabu" "Ubatuba" "Ubatuba" ...
## $ GEOLOGIA_MEMBRO_FINAL : chr "" "" "" "" ...
## $ CDPE : chr "Existe" "Existe" "Existe" "" ...
## $ AGP : chr "" "" "" "" ...
## $ PC : chr "" "Existe" "" "" ...
## $ PAG : chr "" "" "" "" ...
## $ PERFIS_CONVENCIONAIS : chr "" "Existe" "" "" ...
## $ DURANTE_PERFURACAO : chr "Existe" "Existe" "Existe" "Existe" ...
## $ PERFIS_DIGITAIS : chr "" "" "" "" ...
## $ PERFIS_PROCESSADOS : chr "" "" "" "" ...
## $ PERFIS_ESPECIAIS : chr "" "" "" "" ...
## $ AMOSTRA_LATERAL : chr "" "Existe" "" "" ...
## $ SISMICA : chr "" "Existe" "" "" ...
## $ TABELA_TEMPO_PROFUNDIDADE : chr "" "" "" "" ...
## $ DADOS_DIRECIONAIS : chr "Existe" "Existe" "Existe" "Existe" ...
## $ TESTE_A_CABO : chr "Existe" "Existe" "" "" ...
## $ TESTE_DE_FORMACAO : chr "" "" "" "" ...
## $ CANHONEIO : chr "" "" "" "" ...
## $ TESTEMUNHO : chr "" "" "" "" ...
## $ GEOQUIMICA : chr "" "" "" "" ...
## $ SIG_SONDA : chr "SS-49" "DS4" "NB2" "NB2" ...
## $ NOM_SONDA : chr "SEDCO 707" "Deep Ocean Clarion" "Bully 2" "Bully 2" ...
## $ DHA_ATUALIZACAO : chr "28/1/18 5:00" "28/1/18 5:00" "28/1/18 5:00" "28/1/18 5:00" ...
Se obtiene la frecuencia absoluta de los operadores.
Operador <- Datos$OPERADOR
TDFOperador <- as.data.frame(table(Operador))
TDFOperador
## Operador Freq
## 1 2932
## 2 Alcom 11
## 3 Allpetro 1
## 4 Alvopetro 16
## 5 Amerada Hess 3
## 6 Anadarko 15
## 7 Arclima 1
## 8 Aurizônia Petróleo 16
## 9 BG Brasil 9
## 10 BP Brasil 3
## 11 BP Energy 12
## 12 Cemes 1
## 13 Central Resources 6
## 14 Chevron Brasil 1
## 15 Chevron Frade 65
## 16 Cisco 1
## 17 Cowan Petróleo e Gás 3
## 18 Devon Brasil 13
## 19 Dommo Energia 115
## 20 Egesa 3
## 21 Eni Oil 9
## 22 EPG Brasil 8
## 23 Espigão 2
## 24 Esso Expl Offshore 1
## 25 Esso Explor e Des 1
## 26 ExxonMobil Brasil 4
## 27 Geopark Brasil 2
## 28 Great Oil 2
## 29 Guto & Cacal 2
## 30 Imetame 61
## 31 Integral 1
## 32 IPI 4
## 33 Karoon 8
## 34 Leros 1
## 35 Maha Energy 14
## 36 Marítima 2
## 37 Máxima 07 1
## 38 Newo 10
## 39 Nord 5
## 40 Norteoleum 23
## 41 Nova Petróleo Rec 57
## 42 Oceania 1
## 43 Oeste de Canoas 4
## 44 ONGC Campos 1
## 45 OP Energia 18
## 46 Panergy 5
## 47 Parnaíba Gás Natural 121
## 48 Partex Brasil 52
## 49 Perenco Brasil 4
## 50 Perícia 9
## 51 Petra Energia 28
## 52 Petrobras 25142
## 53 Petrogal Brasil 43
## 54 Petroil 19
## 55 PetroRio O&G 52
## 56 Petrosynergy 142
## 57 Phoenix 12
## 58 Proen 1
## 59 Quantra 12
## 60 Queiroz Galvão 19
## 61 Recôncavo E&P 41
## 62 Repsol Sinopec 13
## 63 Rosneft 13
## 64 Santana 47
## 65 SHB 40
## 66 Shell 3
## 67 Shell Brasil 115
## 68 Silver Marlin 5
## 69 Sipet 2
## 70 Statoil Brasil 10
## 71 Statoil Brasil O&G 106
## 72 Tecpetrol Brasil 1
## 73 Tek 3
## 74 Texaco BM-C-5 2
## 75 Total E&P do Brasil 8
## 76 Unocal 2
## 77 UP Petróleo 6
## 78 UTC Engenharia 1
## 79 Vanco 3
## 80 Vipetro 19
## 81 W. Washington 2
## 82 Wintershall BM-S-14 3
Se clasifican los operadores en grupos según su tipo empresarial.
library(dplyr)
##
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
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$Operadores)
## [1] "Otros" "Empresas Nacionales Privadas"
## [3] "Empresas Nacionales Privadas" "Empresas Nacionales Privadas"
## [5] "Empresas Extranjeras Independientes" "Empresas Extranjeras Independientes"
Se obtiene la frecuencia absoluta (ni) y relativa (hi) para cada grupo.
TDFOperador$Freq <- as.numeric(as.character(TDFOperador$Freq))
library(dplyr)
TDFOperador1 <- Datos$TDFOperador
TDFOperador1 <- TDFOperador %>%
group_by(Operadores) %>%
summarise(
ni = sum(Freq),
hi = round(sum(Freq) / sum(TDFOperador$Freq)*100, 2))
TDFOperador1 <- data.frame(TDFOperador1)
Se añade la fila de totales de frecuencia 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)
## Operadores ni hi
## 1 Empresa Nacional Estatal 25142 85.01
## 2 Empresas Extranjeras Independientes 164 0.55
## 3 Empresas Extranjeras Mayores 414 1.40
## 4 Empresas Nacionales Privadas 894 3.02
## 5 Otros 2961 10.01
## 6 Total 29575 100.00
Se presenta la tabla con formato 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 | 85.01 |
| Empresas Extranjeras Independientes | 164 | 0.55 |
| Empresas Extranjeras Mayores | 414 | 1.40 |
| Empresas Nacionales Privadas | 894 | 3.02 |
| Otros | 2961 | 10.01 |
| Total | 29575 | 100.00 |
Se grafica la frecuencia absoluta por grupo.
TDFOPERADORCOMPLETA<- TDFOPERADORCOMPLETA[TDFOPERADORCOMPLETA$Operadores != "Total", ]
par(mar = c(9, 4, 4, 2))
barplot(TDFOPERADORCOMPLETA$ni,
main = "Gráfica N°1: Distribución en cantidad de operadores",
ylab = "Cantidad",
col = "darkseagreen1", names.arg = TDFOPERADORCOMPLETA$Operadores,
las = 2, cex.names = 0.6, cex.axis = 0.8, cex.main = 1)
mtext("Operadores", side = 1, line = 7, adj = 0.99)
Se visualiza la distribución absoluta con un rango mayor en el eje Y.
par(mar = c(9, 4, 4, 2))
barplot(TDFOPERADORCOMPLETA$ni,
main = "Gráfica N°2: Distribución en cantidad de operadoreS",
ylab = "Cantidad",
col = "darkseagreen1", 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 = 7, adj = 0.99)
Se representa el porcentaje de participación de cada categoría.
par(mar = c(9, 4, 4, 2))
barplot(TDFOPERADORCOMPLETA$hi,
main = "Gráfica N°3: Distribución en porcentaje de participación de operadores",
ylab = "Porcentaje",
col = "darkseagreen1", names.arg = TDFOPERADORCOMPLETA$Operadores,
las = 2, cex.names = 0.6, cex.axis = 0.8, cex.main = 1)
mtext("Operadores", side = 1, line = 7, adj = 0.99)
Se grafica el porcentaje con un límite superior de 100%.
par(mar = c(9, 4, 4, 2))
barplot(TDFOPERADORCOMPLETA$hi,
main = "Gráfica N°4: Distribución en porcentaje de participación de operadoreS",
ylab = "Porcentaje",
col = "darkseagreen1", 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 = 7, adj = 0.99)
Se genera un diagrama circular usando la biblioteca ggplot2 y ggrepel para representar la participación relativa por grupos.
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: Benjamin Salazar") %>%
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: Benjamin Salazar | ||||||||||
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.