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

distrito <- datos$Distrito_edit
distrito <- na.omit(distrito)

3 Creacion de Tabla de Frecuencias

TDFdistrito <- table(distrito)
Tabladistrito <- as.data.frame(TDFdistrito)
names(Tabladistrito) <- c("DISTRITO", "ni")

3.0.1 Frecuencia relativa, porcentaje y fila total

hi <- Tabladistrito$ni / sum(Tabladistrito$ni)
hi_porc <- hi * 100
Tabladistrito$hi_porcentaje <- round(hi_porc, 2)
TDFdistritoFinal <- rbind(Tabladistrito, data.frame( DISTRITO = "TOTAL",
  ni = sum(Tabladistrito$ni),
  hi_porcentaje = 100))

3.0.2 Tabla Final

print(TDFdistritoFinal)
##    DISTRITO    ni hi_porcentaje
## 1         1   430          4.22
## 2        10   506          4.97
## 3         2   217          2.13
## 4         3   726          7.12
## 5         4   278          2.73
## 6         5    53          0.52
## 7         6   212          2.08
## 8        6E   122          1.20
## 9        7B   153          1.50
## 10       7C   960          9.42
## 11        8  5023         49.29
## 12       8A  1323         12.98
## 13        9   187          1.84
## 14    TOTAL 10190        100.00

4 Gráficos de Barras

4.0.1 GDF versión local de Distribución de derrames en los distritos regulatorios

barplot(TDFdistrito, 
        main="Gráfica No.1:Distribución de Distritos regulatorios ",
        xlab="Distrito",
        ylab="Cantidad",
        col = "cornsilk",
        las = 1,
        cex.main = 1.4,    
        cex.lab = 1,   
        cex.axis = 0.7,
        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(TDFdistrito,
        main = "Gráfica No.2:Distribución de Distritos regulatorios",
        xlab = "Distrito",
        ylab = "", 
        col = "cornsilk2",
        las = 1, 
        ylim = c(0, sum(TDFdistritoFinal$ni)),
        cex.names = 0.8)
mtext("Cantidad", side = 2, line = 4.5, cex = 1) 

4.0.3 GDF: Porcentaje de Distribución de distritos regulatorios

barplot(TDFdistritoFinal$hi_porcentaje[TDFdistritoFinal$DISTRITO != "TOTAL"],
        main = "Gráfica No.3:Distribución de Distritos regulatorios",
        xlab = "Distrito",
        ylab = "Porcentaje",
        col = "cornsilk3",
        names.arg = TDFdistritoFinal$DISTRITO[TDFdistritoFinal$DISTRITO != "TOTAL"],
        cex.main = 1.5,
        las = 1,
        cex.lab = 1,
        cex.axis = 1,
        cex.names = 1,
        ylim = c(0, 100))

5 Diagrama circular

5.0.1 Agrupacion por región

Tabladistrito$Region <- ifelse(Tabladistrito$DISTRITO %in% c("1", "2", "3", "6", "6E"), "Este",
                      ifelse(Tabladistrito$DISTRITO %in% c("7C", "8", "8A"), "Oeste",
                  ifelse(Tabladistrito$DISTRITO %in% c("5", "9"), "Norte",
          ifelse(Tabladistrito$DISTRITO %in% c("4", "7B", "10"), "Sur", "Otro"))))

TablaRegiones <- aggregate(ni ~ Region, data = Tabladistrito, sum)
TablaRegiones$hi_porcentaje <- round(TablaRegiones$ni / sum(TablaRegiones$ni) * 100, 2)

5.0.2 Grafico circular

colores <- colorRampPalette(c("cornsilk", "coral4"))(nrow(TablaRegiones))
etiquetas <- paste0(TablaRegiones$hi_porcentaje, "%")
pie(TablaRegiones$ni,
    labels = etiquetas,
    col = colores,
    main = "Gráfica No.4: Distribución de Derrames por Región de Texas",
    cex = 0.8)

legend(x = 1.4, y = -0.3,
       legend = TablaRegiones$Region,
       title = "Leyenda",
       cex = 0.7,
       y.intersp = 0.7,
       fill = colores)

6 INDICADOR - Moda

moda_distrito <- names(TDFdistrito)[which.max(TDFdistrito)]
print(paste("MODA (Distrito):", moda_distrito))
## [1] "MODA (Distrito): 8"