1 Carga de 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 Extraccion de variable

Instalaciones <- datos$Categoria_Instalaciones
Instalaciones<- na.omit(Instalaciones)

3 Creacion de Tabla de Frecuencias

TDFTipo_instalaciones <- table(Instalaciones)
Tablainstalaciones <- as.data.frame(TDFTipo_instalaciones)
names(Tablainstalaciones) <- c("Categoria", "ni")

3.0.1 Frecuencia relativa, porcentaje y fila total

hi <- Tablainstalaciones$ni / sum(Tablainstalaciones$ni)
hi_porc <- hi * 100
Tablainstalaciones$hi_porcentaje <- round(hi_porc, 2)
TDFinstalacionesFinal <- rbind(Tablainstalaciones, data.frame(
  Categoria = "TOTAL",
  ni = sum(Tablainstalaciones$ni),
  hi_porcentaje = 100
))

3.0.2 Tabla Final

print(TDFinstalacionesFinal)
##                Categoria    ni hi_porcentaje
## 1       Areas Operativas    14          0.14
## 2 Infraestructura Lineal    30          0.30
## 3       Instalacion fija   454          4.48
## 4                  Pozos  9646         95.09
## 5                  TOTAL 10144        100.00

4 Gráficos de Barras

4.0.1 GDF versión local de Distribución de tipos de instalación

par(mar = c(6, 6, 4, 2)) 
Nuevonombre_Tipoinstalacion <- gsub("  ", "\n", Tablainstalaciones$Categoria)
barplot(
  TDFTipo_instalaciones, 
  main = "Gráfica No.1: Distribución de Tipos de Instalaciones",
  xlab = "Tipo de Instalación",
  ylab = "Cantidad",
  names.arg = Nuevonombre_Tipoinstalacion,
  col = "cadetblue1",
  las = 1,
  cex.main = 1.4,    
  cex.lab = 1.2,   
  cex.axis = 0.8,
  cex.names = 0.7)

4.0.2 GDF versión global de distribución de derrames en los distritos regulatorios

par(mar = c(6, 6, 4, 2)) 
barplot(
  TDFTipo_instalaciones,
  main = "Gráfica No.2: Distribución de Tipos de Instalaciones",
  xlab = "Tipo de Instalación",
  ylab = "", 
  names.arg = Nuevonombre_Tipoinstalacion,
  col = "cadetblue2",
  las = 1, 
  ylim = c(0, sum(TDFinstalacionesFinal$ni)),
  cex.names = 0.7
)
mtext("Cantidad", side = 2, line = 4.5, cex = 1)

4.0.3 GDF: Porcentaje de Distribución de Tipos de Instalaciones

name_filter <- TDFinstalacionesFinal$Categoria[TDFinstalacionesFinal$Categoria != "TOTAL"]
Nuevonombre_Tipoinstalaciones <- gsub(" ", "\n",name_filter)
par(mar = c(6, 6, 4, 2)) 
barplot(
  TDFinstalacionesFinal$hi_porcentaje[TDFinstalacionesFinal$Categoria != "TOTAL"],
  main = "Gráfica No.3: Distribución de Tipos de Instalaciones",
  xlab = "Tipo de Instalación",
  ylab = "Porcentaje",
  col = "cadetblue3",
  names.arg = Nuevonombre_Tipoinstalaciones,
  cex.main = 1.5,
  las = 1,
  cex.lab = 1.2,
  cex.axis = 1,
  cex.names = 0.7,
  ylim = c(0, 100))

5 Diagrama circular

colores_instalacion <- colorRampPalette(c("#E0F0F2", "#5F9EA0"))(nrow(Tablainstalaciones))
etiquetas_porcentaje <- paste0(Tablainstalaciones$hi_porcentaje, "%")

par(mar = c(0, 0, 4, 4), xpd = TRUE)
pie(
  Tablainstalaciones$ni,
  labels = etiquetas_porcentaje,
  main = "Gráfica No.4: Distribución de Tipos de Instalaciones",
  col = colores_instalacion,
  cex = 0.9)

legend(
  x = 1.1, y = -0.4,
  legend = Tablainstalaciones$Categoria,
  title = "Leyenda",
  fill = colores_instalacion,
  y.intersp = 0.7,
  cex = 0.8,
  bty = "o")

6 INDICADOR - Moda

moda_instalaciones <- names(TDFTipo_instalaciones)[which.max(TDFTipo_instalaciones)]
print(paste("MODA (Instalacion):", moda_instalaciones))
## [1] "MODA (Instalacion): Pozos"