TIPO DE OPERACIÓN

1 Cargar datos

setwd("/cloud/project")
datos <- read.csv("DATOS.csv", header = TRUE, sep = ";" , dec = ".")
str(datos)
## 'data.frame':    10190 obs. of  17 variables:
##  $ Distrito_edit                        : chr  "1" "1" "1" "1" ...
##  $ Year_edit_Fecha_del_derrame          : int  2013 2013 2013 2013 2013 2013 2013 2013 2013 2013 ...
##  $ Mes_edit_Fecha_del_derrame           : int  6 3 4 4 6 6 3 9 10 6 ...
##  $ Categoria_Instalaciones              : chr  "Instalacion fija" "Pozos" "Pozos" "Pozos" ...
##  $ Operacion_general                    : chr  "Produccion" "Otro" "Produccion" "Produccion" ...
##  $ Categoria_Fuente                     : chr  NA "Tanques/Almacenamiento" "Lineas/Tuberias" "Infraestructura Fija" ...
##  $ Grupo_causas_probable                : chr  NA "Afectaciones externas" "Factores humanos" "Problemas tecnicos" ...
##  $ Liberacion_petroleo_crudo_edicion    : num  0 0 0 0 0 ...
##  $ Edicion_recuperacion_petroleo_crudo  : num  NA 0 0 0 0 0 0 0 0 NA ...
##  $ Volumen_liberado_Cond_Final          : num  0 0 0 10 0 0 0 1 0 0 ...
##  $ Liberacion_agua_de_produccion_edicion: num  6720 3780 5040 420 10920 ...
##  $ Liberacion_volumen_gas               : num  0 0 0 0 0 0 0 0 0 0 ...
##  $ Volumen_condensado_recuperado        : num  NA 0 0 1 0 0 0 0 0 NA ...
##  $ Edicion_Recuperacion_agua_producida  : num  NA 420 4620 0 10920 ...
##  $ Derrame_sobre_agua_limpio            : chr  "NO" "NO" "NO" "NO" ...
##  $ Estado_general                       : chr  "Observaciones tecnicas" NA NA NA ...
##  $ Codigo_area                          : int  1 1 1 1 1 1 1 1 1 3 ...

2 Extraer variable

Operacion_general <- datos$Operacion_general
TDFOperacion_general <- table(Operacion_general)

3 Tabla de distribución de frecuencias

Tabla <- as.data.frame(TDFOperacion_general)  # Frecuencia Absoluta
colnames(Tabla)[colnames(Tabla) == "Freq"] <- "ni"
fo_norm <- Tabla$ni / sum(Tabla$ni)  # Frecuencia Relativa
fo <- fo_norm * 100 
sum(fo)
## [1] 100
Tabla$fo <- fo
total_ni <- sum(Tabla$ni)  # Total de ni
total_fo <- sum(Tabla$fo)  # Total de fo
fila_total <- data.frame(Operacion_general = "Total", ni = total_ni, fo = total_fo)
fila_total <- fila_total[, colnames(Tabla)]
Tabla <- rbind(Tabla, fila_total)
print(Tabla)
##        Operacion_general    ni          fo
## 1  Inyeccion/Disposicion  2474  24.3839937
## 2                   Otro   107   1.0546028
## 3            Perforacion     2   0.0197122
## 4                Plantas    22   0.2168342
## 5             Produccion  7271  71.6637098
## 6 Transporte/Recoleccion   266   2.6217228
## 7       Tratamiento agua     4   0.0394244
## 8                  Total 10146 100.0000000

4 Gráficas de distribución de frecuencia

Diagrama de barras ni Se creó un diagrama de barras con la frecuencia absoluta.

# Ajustar márgenes
par(mar = c(8, 4, 3, 2))
 
barplot(TDFOperacion_general,
        main = "Gráfica No.1: 
        Distribución de Operaciones Generales",
        xlab = "",
        ylab = "Cantidad",
        col = "deeppink",  
        las = 3, 
        cex.names = 0.5,
        cex.axis = 0.9,
        cex.main = 1.2,
        ylim = c(0, max(TDFOperacion_general) * 1.2),
        border = "black")
mtext("Operación General", side = 1, line = 5, cex = 1.1)
abline(h = pretty(range(TDFOperacion_general), n = 5), col = "gray85", lty = "dotted")

Diagrama de barras fo Se creó un diagrama de barras con la frecuencia relativa.

porcentajes <- TDFOperacion_general / sum(TDFOperacion_general) * 100
par(mar = c(8, 4, 3, 2)) 
barplot(porcentajes,
        main = "Gráfica No.2: 
        Distribución porcentual de Operaciones Generales",
        xlab = "",
        ylab = "Porcentaje",
        col = "deeppink2",  
        las = 3, 
        cex.names = 0.5,
        cex.axis = 0.9,
        cex.main = 1.2,
        ylim = c(0, max(porcentajes) * 1.2),
        border = "black")
mtext("Operaciones Generales", side = 1, line = 5, cex = 1.1)
abline(h = pretty(range(porcentajes), n = 5), col = "gray85", lty = "dotted")

5 Modelo de Probabilidad

P_Operacion_general <- Tabla$ni / sum(Tabla$ni)
Tabla <- Tabla[Tabla$Operacion_general != "Total", ]
Tabla <- Tabla[!is.na(Tabla$ni) & !is.na(Tabla$Operacion_general), ]
P_Operacion_general <- Tabla$ni / sum(Tabla$ni)
nombres_Operacion_general <- Tabla$Operacion_general
# Gráfico de barras: Distribución de probabilidad de cada Operación General
barplot(P_Operacion_general,
        main = "Gráfica Nº3: 
        Distribución de Probabilidad de cada Operación General",
        xlab = "Operación General", 
        ylab = "Probabilidad",
        col = "deeppink3",
        names.arg = nombres_Operacion_general,
        las = 3,
        cex.names = 0.5,
        ylim = c(0, 1))  

5.1 Probabilidad

# ¿Cuál es la probabilidad de que ocurra un derrame de  operación en alguna planta?
nombre_operacion <- "Plantas"  
probabilidad_Plantas <- round(
  (Tabla$ni[Tabla$Operacion_general == nombre_operacion] / sum(Tabla$ni[Tabla$Operacion_general != "Total"])) * 100,
  1
)
print(paste("La probabilidad es de:", probabilidad_Plantas, "%"))
## [1] "La probabilidad es de: 0.2 %"