##### UNIVERSIDAD CENTRAL DEL ECUADOR #####
#### AUTOR: LISS MURILLO ####
### CARRERA: INGENIERÍA EN PETROLEOS #####


#### VARIABLE RESERVORIO  ####
## DATOS ###
library(readxl)
Produccio_n_Campo_Sacha_csv <- read_excel("r-graficas/Producción Campo Sacha.csv.xlsx")
View(Produccio_n_Campo_Sacha_csv)
str(Produccio_n_Campo_Sacha_csv)
## tibble [8,344 × 31] (S3: tbl_df/tbl/data.frame)
##  $ mes                   : chr [1:8344] "Ene" "Ene" "Ene" "Ene" ...
##  $ día                   : num [1:8344] 1 1 1 1 1 1 1 1 1 1 ...
##  $ Pozo                  : chr [1:8344] "SACHA-001A" "SACHA-019A" "SACHA-052B" "SACHA-083A" ...
##  $ Campo                 : chr [1:8344] "SACHA" "SACHA" "SACHA" "SACHA" ...
##  $ Reservorio            : chr [1:8344] "U" "U" "U INFERIOR" "HOLLIN INFERIOR" ...
##  $ Bpd                   : num [1:8344] NA 53 249 139 186 136 NA 456 161 164 ...
##  $ Bppd_BH               : num [1:8344] 159 NA NA NA NA NA 155 NA NA NA ...
##  $ Bfpd_BE               : num [1:8344] NA 534 346 1158 1163 ...
##  $ Bfpd_BH               : num [1:8344] 695 NA NA NA NA NA 441 NA NA NA ...
##  $ Bapd_BE               : num [1:8344] NA 481 97 1019 977 ...
##  $ Bapd_BH               : num [1:8344] 536 NA NA NA NA NA 286 NA NA NA ...
##  $ Bsw_BE                : num [1:8344] NA 90.1 28 88 84 ...
##  $ Bsw_BH                : num [1:8344] 77.1 NA NA NA NA ...
##  $ Api_BE                : num [1:8344] NA 26.7 27.8 27.7 24 20.5 NA 28.5 29.9 26.3 ...
##  $ Api_BH                : num [1:8344] 27.8 NA NA NA NA NA 23.2 NA NA NA ...
##  $ Gas_BE                : num [1:8344] NA 10.76 50.55 1.11 27.9 ...
##  $ Gas_BH                : num [1:8344] 32.3 NA NA NA NA ...
##  $ Salinidad_BE          : num [1:8344] NA 15920 30227 1600 13000 ...
##  $ Salinidad_BH          : num [1:8344] 10800 NA NA NA NA NA 3800 NA NA NA ...
##  $ Rgl_BE                : num [1:8344] NA 20.15 146.1 0.96 23.99 ...
##  $ Rgl_BH                : num [1:8344] 46.5 NA NA NA NA ...
##  $ Gor_BE                : num [1:8344] NA 203.02 203.01 7.99 150 ...
##  $ Gor_BH                : num [1:8344] 203 NA NA NA NA ...
##  $ Horas_BE              : num [1:8344] NA 4 5 4 4 10 NA 4 10 10 ...
##  $ Horas_BH              : num [1:8344] 4 NA NA NA NA NA 4 NA NA NA ...
##  $ Bomba_BE              : chr [1:8344] NA "SF-320|SF-320|SF-900|SFGH2500/520/180/9259" "RC 1000|RC 1000|RC 1000/300/120/9250" "P23/68/30/7000" ...
##  $ Bomba_BH              : chr [1:8344] "JET  12K/0//0" NA NA NA ...
##  $ Frecuencia Operaciones: num [1:8344] NA 65 62 46 59 52 NA 58.5 57 54 ...
##  $ Voltaje               : num [1:8344] NA 479 457 364 440 452 NA 475 455 439 ...
##  $ Amperaje              : num [1:8344] NA 29 35 14 59 30 NA 23 35 34 ...
##  $ Presión Intake        : num [1:8344] NA 484 406 0 345 162 NA 546 338 0 ...
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
##Extraer Variable Nominal
Reservorio <- Produccio_n_Campo_Sacha_csv$Reservorio
##EDAvariable nominal
TDF_Reservorio<- table(Reservorio)

tabla_reservorio <- as.data.frame(TDF_Reservorio)
hi <- tabla_reservorio$Freq/sum(tabla_reservorio$Freq)
hi_porc <- hi*100
sum(hi_porc)
## [1] 100
tabla_Reservorio <- data.frame(tabla_reservorio,hi_porc)
### Agrupación ####
tabla_Reservorio$grupo <- case_when(
  grepl("Hollin|Hollín", tabla_reservorio$Reservorio, ignore.case = TRUE) ~ "Formación Hollín",
  grepl("^U$|U ", tabla_reservorio$Reservorio, ignore.case = TRUE) ~ "Formación U / Napo",
  grepl("Basal|B Sand", tabla_reservorio$Reservorio, ignore.case = TRUE) ~ "Areniscas Basales",
  grepl("Tena", tabla_reservorio$Reservorio, ignore.case = TRUE) ~ "Formación Tena",
  grepl("M1|M2|Mococha|Mocoa", tabla_reservorio$Reservorio, ignore.case = TRUE) ~ "Formación M1 - M2",
  grepl("Arenisc|Arena|Sand", tabla_reservorio$Reservorio, ignore.case = TRUE) ~ "Litología arenosa",
  grepl("Arcilla|Lutita|Shale", tabla_reservorio$Reservorio, ignore.case = TRUE) ~ "Litología arcillosa",
  TRUE ~ "Otros / Sin especificar")
tabla_resumen <- tabla_Reservorio %>%
  group_by(grupo) %>%
  summarise(
    Frecuencia = sum(Freq),
    Porcentaje = sum(hi_porc)
  ) %>%
  arrange(desc(Frecuencia))

sum(tabla_resumen$Frecuencia)
## [1] 8344
sum(tabla_resumen$Porcentaje)
## [1] 100
colnames(tabla_resumen) <- c("Reservorio","ni","hi (%)")
print(tabla_resumen)
## # A tibble: 4 × 3
##   Reservorio                 ni `hi (%)`
##   <chr>                   <int>    <dbl>
## 1 Formación U / Napo       4242    50.8 
## 2 Otros / Sin especificar  2417    29.0 
## 3 Formación Hollín         1460    17.5 
## 4 Areniscas Basales         225     2.70
#### Crear de fila de totales ####
totales <- c( Reservorio = "TOTAL",
              ni= sum(tabla_resumen$ni),
              hi= sum(hi*100))

tabla_reservorios <- rbind(tabla_resumen,totales)
tabla_reservorios
## # A tibble: 5 × 3
##   Reservorio              ni    `hi (%)`        
##   <chr>                   <chr> <chr>           
## 1 Formación U / Napo      4242  50.8389261744966
## 2 Otros / Sin especificar 2417  28.9669223394056
## 3 Formación Hollín        1460  17.4976030680729
## 4 Areniscas Basales       225   2.69654841802493
## 5 TOTAL                   8344  100
# Asignar a una variable más corta para facilitar el trabajo
database <- Produccio_n_Campo_Sacha_csv
#  RESERVORIO
# Frecuencias completas
frecuencias_reservorio <- table(database$Reservorio)

# Ordenar de mayor a menor
frecuencias_reservorio_ordenadas <- sort(frecuencias_reservorio, decreasing = TRUE)
# Diagrama de barras local ni
barplot(frecuencias_reservorio_ordenadas,
        main = "Gráfica Nº1 Distribución de Reservorios Campo Sacha",
        xlab = "",
        ylab = "Cantidad",
        col = colorRampPalette(c("#4ECDC4"))(length(frecuencias_reservorio_ordenadas)),
        border = "white",
        cex.names = 0.6,
        las = 2)

mtext("Reservorio", side = 1, line = 7)

# Diagrama de barras global ni
top_reservorios <- head(frecuencias_reservorio_ordenadas, 10)

barplot(top_reservorios,
        main = "Gráfica Nº2 Distribución de Reservorios Campo Sacha",
        xlab = "",
        ylab = "Cantidad", 
        col = colorRampPalette(c("#4ECDC4", "#4ECDC4", "#4ECDC4"))(length(top_reservorios)),
        border = "white",
        cex.names = 0.7,
        las = 2,
        ylim = c(0,5234))
mtext("Reservorio", side = 1, line = 8)

# Diagrama de barras local hi

barplot(tabla_resumen$`hi (%)`,main="Gráfica N°3: Distribución del porcentaje de Reservorios del Campo Sacha",
        xlab = "",
        ylab = "Porcentaje %",
        col = "skyblue",
        names.arg=tabla_resumen$Reservorio,
        cex.names = 0.8,
        las = 2)
mtext("Reservorio", side = 1, line = 8)

# Diagrama de barrras global hi

barplot(tabla_resumen$`hi (%)`,main="Gráfica N°4: Distribución del porcentaje de Reservorios del Campo Sacha ",
        xlab = "",
        ylab = "Porcentaje %",
        col = "skyblue",
        ylim = c(0,100),
        names.arg=tabla_resumen$Reservorio,
        cex.names = 0.8,
        las = 2)
mtext("Reservorio", side = 1, line = 8)

# Diagrma circular

pie (tabla_resumen$`hi (%)`,main = "Gráfica N°5: Distribución porcentual de los reservorios del Campo Sacha",
     radius = 1,
     labels = paste0(round(tabla_resumen$`hi (%)`,2),"%"),
     col = colores <- c(rev(heat.colors(7))),
     cex=0.8,
)
par(xpd = TRUE)  # Permite que la leyenda salga del área del gráfico

legend(x = 1.5, y = 1,
       legend = tabla_resumen$Reservorio,
       fill = colores <- c(rev(heat.colors(7))),
       cex = 0.5,
       title = "Reservorios del Campo Sacha")

tabla_indicadores <- data.frame("Variable" =c("Reservorios"),
                                "Rango" = " Campo Sacha",
                                "X" = " - ",
                                "Me" = " - ",
                                "Mo" = " Tipos ",
                                "V" = " - ",
                                "Sd" = " - ",
                                "Cv" = " - ",
                                "As" = " - ",
                                "K" = " - ",
                                "Valores Atipicos" = " - ")
library(knitr)
kable(tabla_indicadores, align = 'c', caption = "Conclusiones de la variable
      Reservorio del campo Sacha")
Conclusiones de la variable Reservorio del campo Sacha
Variable Rango X Me Mo V Sd Cv As K Valores.Atipicos
Reservorios Campo Sacha - - Tipos - - - - - -