ESTADO GENERAL

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

Estado_general <- datos$Estado_general
TDFEstado_general <- table(Estado_general)

3 Tabla de distribución de frecuencias

Tabla <- as.data.frame(TDFEstado_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(Estado_general = "Total", ni = total_ni, fo = total_fo)
fila_total <- fila_total[, colnames(Tabla)]
Tabla <- rbind(Tabla, fila_total)
print(Tabla)
##             Estado_general   ni          fo
## 1             Caso abierto  271   2.7703946
## 2     Cerrado / Controlado 7969  81.4659579
## 3 Evaluación / Seguimiento 1532  15.6614189
## 4   Observaciones tecnicas   10   0.1022286
## 5                    Total 9782 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(TDFEstado_general,
        main = "Gráfica No.1: 
        Distribución de cada Estado General",
        xlab = "",
        ylab = "Cantidad",
        col = "chocolate",
        las = 3, 
        cex.names = 0.8,
        cex.axis = 0.9,
        cex.main = 1.2,
        ylim = c(0, max(TDFEstado_general) * 1.2),
        border = "black")
mtext("Estado General", side = 1, line = 5, cex = 1.1)
abline(h = pretty(range(TDFEstado_general), n = 5), col = "gray85", lty = "dotted")

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

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

5 Modelo de Probabilidad

P_Estado_general <- Tabla$ni / sum(Tabla$ni)
# Eliminar la fila "Total" si está presente
P_Estado_general <- P_Estado_general[Tabla$Estado_general != "Total"]
nombres_Estado_general <- Tabla$Estado_general[Tabla$Estado_general != "Total"]
# Gráfico de barras: Distribución de probabilidad de cada Estado General
barplot(P_Estado_general,
        main = "Gráfica Nº3: 
        Distribución de Probabilidad de cada Estado General",
        xlab = "Estado General", ylab = "Probabilidad",
        col = "chocolate3",
        names.arg = nombres_Estado_general,
        las = 3,
        cex.names = 0.5)

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:  %"