1 Cargar datos

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")
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" ...

2 Tabla de distribución de frecuencia

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

3 Agrupación de operadores por categorías

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("Wintershall BM-S-14","W. Washington","Vipetro","Vanco","UTC Engenharia",
    "UP Petróleo","Unocal","Total E&P do Brasil"), "Multinacionales Mayores",
    ifelse(TDFOperador$Operador %in% c("Texaco BM-C-5","Tek","Tecpetrol Brasil","Statoil Brasil O&G","Statoil Brasil",
                                       "Sipet","Silver Marlin","Shell Brasil"), "Multinacionales Medias",
           ifelse(TDFOperador$Operador %in% c( "Shell","SHB","Santana","Rosneft","Repsol Sinopec","Recôncavo E&P",
                                               "Queiroz Galvão","Quantra"), "Empresas Nacionales Grandes",
                  ifelse(TDFOperador$Operador %in% c(  "Proen","Phoenix","Petrosynergy","PetroRio O&G","Petroil","Petrogal Brasil",
                                                       "Petrobras","Petra Energia"), "Empresas Nacionales Medias",
                         ifelse(TDFOperador$Operador %in% c("Perícia","Perenco Brasil","Partex Brasil","Parnaíba Gás Natural","Panergy",
                                                            "OP Energia","ONGC Campos","Oeste de Canoas"), "Empresas Nacionales Pequeñas",
                                ifelse(TDFOperador$Operador %in% c(  "Oceania","Nova Petróleo Rec","Norteoleum","Nord","Newo","Máxima 07",
                                                                     "Marítima","Maha Energy"), "Junior Companies y Exploración",
                                       ifelse(TDFOperador$Operador %in% c("Leros","Karoon","IPI","Integral","Imetame","Guto & Cacal","Great Oil",
                                                                          "Geopark Brasil"), "Servicios y Consultoras",
                                              ifelse(TDFOperador$Operador %in% c("ExxonMobil Brasil","Esso Explor e Des","Esso Expl Offshore","Espigão",
                                                                                 "EPG Brasil","Eni Oil","Egesa","Dommo Energia"),"Offshore & Deepwater",
                                                     ifelse(TDFOperador$Operador %in% c( "Devon Brasil","Cowan Petróleo e Gás","Cisco","Chevron Frade","Chevron Brasil",
                                                                                         "Central Resources","Cemes","BP Energy"), "Independientes Internacionales",
                                                            ifelse(TDFOperador$Operador %in% c("BP Brasil","BG Brasil","Aurizônia Petróleo","Arclima","Anadarko",
                                                                                               "Amerada Hess","Alvopetro","Allpetro","Alcom"), "Independientes Nacionales", "Otros"))))))))))
head(TDFOperador$Operadores)
## [1] "Otros"                     "Independientes Nacionales"
## [3] "Independientes Nacionales" "Independientes Nacionales"
## [5] "Independientes Nacionales" "Independientes Nacionales"

4 Cálculo de frecuencias por categoría

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)

5 Agregar totales

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     Empresas Nacionales Grandes   188   0.64
## 2      Empresas Nacionales Medias 25439  86.02
## 3    Empresas Nacionales Pequeñas   214   0.72
## 4  Independientes Internacionales   102   0.34
## 5       Independientes Nacionales    75   0.25
## 6  Junior Companies y Exploración   113   0.38
## 7         Multinacionales Mayores    44   0.15
## 8          Multinacionales Medias   244   0.83
## 9            Offshore & Deepwater   143   0.48
## 10                          Otros  2932   9.91
## 11        Servicios y Consultoras    81   0.27
## 12                          Total 29575 100.00

6 Tabla en formato GT

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") %>% 
  tab_style(style = list(cell_text(align = "center")), locations = list())
Cuadro No.1
Operadores de los pozos petrolíferos en Brasil
Operadores ni hi
Empresas Nacionales Grandes 188 0.64
Empresas Nacionales Medias 25439 86.02
Empresas Nacionales Pequeñas 214 0.72
Independientes Internacionales 102 0.34
Independientes Nacionales 75 0.25
Junior Companies y Exploración 113 0.38
Multinacionales Mayores 44 0.15
Multinacionales Medias 244 0.83
Offshore & Deepwater 143 0.48
Otros 2932 9.91
Servicios y Consultoras 81 0.27
Total 29575 100.00

7 Gráficas

7.1 Histograma de frecuencia absoluta local

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 a nivel local ",
        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.8)

7.2 Histograma de frecuencia absoluta global (ni)

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 a nivel global ",
        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.8)

7.3 Histograma de frecuencia relativa local (hi)

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 a nivel local ",
        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.8)

7.4 Histograma de frecuencia relativa global (hi)

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 a nivel global ",
        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.8)

7.5 Diagrama circular

Se genera un diagrama circular para representar la participación relativa por grupos.

par(mar = c(4, 4, 4, 10), xpd = TRUE)
pie(TDFOPERADORCOMPLETA$hi, 
    main = "Gráfica N°5: Distribución porcentual de operadores", 
    radius = 0.8,
    labels = paste0(round(TDFOPERADORCOMPLETA$hi,2)),
    col = c("#90CFFF", "#966BFF", "#C774E7", "#C874AA", "#FF6AD5", "#FF6A8B" ,"#FFA88B", "#FFDE8B", "#CCDE8B", "#20DE8B" ),
    cex.main = 0.8,
    init.angle = 270)

legend( x = 1, y = 0.5,
       legend = TDFOPERADORCOMPLETA$Operadores,
       fill = c("#90CFFF", "#966BFF", "#C774E7", "#C874AA", "#FF6AD5", "#FF6A8B" ,"#FFA88B", "#FFDE8B", "#CCDE8B", "#20DE8B"),
       cex = 0.7,
       title = "Operadores")