Cargar los datos

setwd("D:/Data")
datos <- read.csv("derrames_globales_.csv", header = TRUE, sep = ";", dec =".")
str(datos)
## 'data.frame':    3550 obs. of  23 variables:
##  $ Id                                 : int  6786 6250 8220 6241 6216 6620 6262 6229 6201 6221 ...
##  $ Dia                                : int  19 3 21 16 19 7 10 12 18 29 ...
##  $ Mes                                : int  1 6 4 3 12 10 2 5 3 1 ...
##  $ ANo                                : chr  "A" "1979" "2010" "1978" ...
##  $ Nombre                             : chr  "Arabian Gulf Spills; Persian Gulf, Kuwait" "IXTOC I; Bahia de Campeche, Mexico" "Deepwater Horizon; Gulf of Mexico" "Amoco Cadiz; Brittany, France" ...
##  $ Ubicacion                          : chr  "Persian Gulf, Kuwait" "Bahia de Campeche, Mexico" "Gulf of Mexico" "Brittany, France" ...
##  $ Latitud                            : chr  "29,5" "19,4083" "28,7367" "48,5833" ...
##  $ Longuitud                          : chr  "48" "-92,325" "-88,3872" "-4,71667" ...
##  $ Amenaza                            : chr  "Oil" "Oil" "Oil" "Oil" ...
##  $ Etiquetas                          : chr  "" "Collision" "" "Grounding" ...
##  $ Tipo_de_crudo                      : chr  "Kuwait crude oil" "IXTOC I crude oil" "Diesel, crude oil" "Arabian light crude, Iranian light crude, Bunker C" ...
##  $ Recuperacion_en_superficie_aplicada: int  NA NA 1 NA NA NA NA NA NA NA ...
##  $ Recuperacion_en_costas_aplicada    : int  NA NA 1 NA NA NA NA NA NA NA ...
##  $ Tratamiento_biologico_aplicado     : int  1 NA 1 1 NA NA NA NA NA NA ...
##  $ Dispersion_quimica_aplicada        : int  NA 1 1 1 NA NA NA 1 1 1 ...
##  $ Quema_aplicada                     : int  NA 1 1 NA NA NA NA 1 1 1 ...
##  $ Maximo_liberacion_galones          : int  336000009 -1 205000000 68000017 -1 -1 -1 9240000 36100000 -1 ...
##  $ Barreras_de_contencion_flotantes   : int  35 12 182 17 3 3 7 8 5 6 ...
##  $ Causa_principal                    : chr  "DaNo del tanque  " "Incendio y explosion " "Incendio y explosion " "DaNo del tanque " ...
##  $ Volumen_derramados_galones         : chr  "336.000.000" "365.000.000" "600.000.000" "68.000.000" ...
##  $ Respuesta_actual_galones           : chr  "336000000" "252000000" "168000000" "68700000" ...
##  $ Fuente_respuesta                   : chr  "description and posts" "posts" "description" "posts" ...
##  $ etiqueta_actualizacion             : chr  "RA updated" "RA newly acquired" "RA updated" "RA updated" ...

1 Variable de Recuperacion en superficie aplicada

Re_s <- as.logical(datos$Recuperacion_en_superficie_aplicada)
Re_s <- na.omit(Re_s)
str(Re_s) 
##  logi [1:316] TRUE FALSE TRUE TRUE TRUE TRUE ...
##  - attr(*, "na.action")= 'omit' int [1:3234] 1 2 4 5 6 7 8 9 10 11 ...
TDF_Re_s <- table(Re_s) 
tabla1 <- as.data.frame(TDF_Re_s)
colnames(tabla1) <- c("Recuperacion_aplicada","ni")
tabla1$hi <- round(tabla1$ni/sum(tabla1$ni)*100 ,2) 
print(tabla1)
##   Recuperacion_aplicada  ni    hi
## 1                 FALSE  46 14.56
## 2                  TRUE 270 85.44

1.1 Gráfica 1: Distribución de la recuperacion en superficie aplicada (local)

barplot(tabla1$ni,
        names.arg = tabla1$Recuperacion_aplicada,
        main = "Distribución de la recuperacion en superficie aplicada (local)",
        xlab = "Recuperacion en superficie aplicada",
        ylab = "Cantidad",
        col = "skyblue",
        las = 2,
        cex.names = 0.8,
        cex.axis = 0.8,
        cex.lab = 1.2)

1.2 Gráfica 2: Distribución de la recuperacion en superficie aplicada (global)

barplot(tabla1$ni,
        names.arg = tabla1$Recuperacion_aplicada,
        main = "Distribución de la recuperacion en superficie aplicada (global)",
        xlab = "Recuperacion en superficie aplicada",
        ylab = "Cantidad",
        col = "blue",
        ylim = c(0, sum(tabla1$ni)),
        las = 2,
        cex.names = 0.8,
        cex.axis = 0.8,
        cex.lab = 1.2)

1.3 Gráfica 3: Distribución porcentual de la recuperacion en superficie aplicada (local)

barplot(tabla1$hi,
        names.arg = tabla1$Recuperacion_aplicada,
        main = "Distribución de la recuperacion en superficie aplicada (local)",
        xlab = "Recuperacion en superficie aplicada",
        ylab = "Porcentaje (%)",
        col = "green",
        las = 2,
        cex.names = 0.8,
        cex.axis = 0.8,
        cex.lab = 1.2)

1.4 Gráfica 4: Distribución porcentual de la recuperacion en superficie aplicada (global)

barplot(tabla1$hi,
        names.arg = tabla1$Recuperacion_aplicada,
        main = "Distribución de la recuperacion en superficie aplicada (global)",
        xlab = "Recuperacion en superficie aplicada",
        ylab = "Porcentaje (%)",
        col = "darkgreen",
        ylim = c(0, 100),
        las = 2,
        cex.names = 0.8,
        cex.axis = 0.8,
        cex.lab = 1.2)

1.5 Gráfica 5: Distribución de la recuperacion en superficie aplicada

etiqueta_sup <- paste0(round(tabla1$hi, 2), "%")
colores <- rev(heat.colors(nrow(tabla1)))

pie(tabla1$hi,
    main = "Distribución de la recuperacion en superficie aplicada",
    radius = 1,
    col = colores,
    labels = etiqueta_sup,
    cex = 0.8)

legend("bottomleft",
       legend = tabla1$Recuperacion_aplicada,
       title = "Recuperacion en superficie aplicada",
       fill = colores,
       cex = 0.8,         
       inset = 0.001,    
       bty = "n")         

1.6 Indicadores

#MODA
moda_sup <- names(TDF_Re_s)[which.max(TDF_Re_s )]
print(paste("MODA (Recuperacion en superficie aplicada):", moda_sup))
## [1] "MODA (Recuperacion en superficie aplicada): TRUE"
#MEDIANA
supm <- ceiling((length(Re_s) + 1) / 2)
mediana_sup <- Re_s[supm]
print(paste("MEDIANA (Recuperacion en superficie aplicada):", mediana_sup))
## [1] "MEDIANA (Recuperacion en superficie aplicada): TRUE"

1.7 Conclusión

La variable fluctúa entre verdadero y falso, donde los datos con mayor frecuencia están en verdadero con una mediana de verdadero, lo cual nos indica con mayor frecuencia se remedia derrames de hidrocarburos en superficie terrestre.

2 Variable de Recuperacion en costas aplicada

Re_c <- as.logical(datos$Recuperacion_en_costas_aplicada)
Re_c <- na.omit(Re_c)
str(Re_c) 
##  logi [1:217] TRUE TRUE FALSE TRUE TRUE TRUE ...
##  - attr(*, "na.action")= 'omit' int [1:3333] 1 2 4 5 6 7 8 9 10 11 ...
TDF_Re_c <- table(Re_c) 
tabla2 <- as.data.frame(TDF_Re_c)
colnames(tabla2) <- c("Recuperacion_costas","ni")
tabla2$hi <- round(tabla2$ni/sum(tabla2$ni)*100 ,2) 
print(tabla2)
##   Recuperacion_costas  ni    hi
## 1               FALSE  36 16.59
## 2                TRUE 181 83.41

2.1 Gráfica 1: Distribución de la recuperacion en costas aplicada (local)

barplot(tabla2$ni,
        names.arg = tabla2$Recuperacion_costas,
        main = "Distribución de la recuperacion en costas aplicada (local)",
        xlab = "Recuperacion en costas aplicada",
        ylab = "Cantidad",
        col = "skyblue",
        las = 2,
        cex.names = 0.8,
        cex.axis = 0.8,
        cex.lab = 1.2)

2.2 Gráfica 2: Distribución de la recuperacion en costas aplicada (global)

barplot(tabla2$ni,
        names.arg = tabla2$Recuperacion_costas,
        main = "Distribución de la recuperacion en costas aplicada (global)",
        xlab = "Recuperacion en costas aplicada",
        ylab = "Cantidad",
        col = "blue",
        ylim = c(0, sum(tabla2$ni)),
        las = 2,
        cex.names = 0.8,
        cex.axis = 0.8,
        cex.lab = 1.2)

2.3 Gráfica 3: Distribución porcentual de la recuperacion en costas aplicada (local)

barplot(tabla2$hi,
        names.arg = tabla2$Recuperacion_costas,
        main = "Distribución de la recuperacion en costas aplicada (local)",
        xlab = "Recuperacion en costas aplicada",
        ylab = "Porcentaje (%)",
        col = "green",
        las = 2,
        cex.names = 0.8,
        cex.axis = 0.8,
        cex.lab = 1.2)

2.4 Gráfica 4: Distribución porcentual de la recuperacion en costas aplicada (global)

barplot(tabla2$hi,
        names.arg = tabla2$Recuperacion_costas,
        main = "Distribución de la recuperacion en costas aplicada (global)",
        xlab = "Recuperacion en costas aplicada",
        ylab = "Porcentaje (%)",
        col = "darkgreen",
        ylim = c(0, 100),
        las = 2,
        cex.names = 0.8,
        cex.axis = 0.8,
        cex.lab = 1.2)

2.5 Gráfica 5: Distribución de la recuperacion en costas aplicada

etiqueta_cos <- paste0(round(tabla2$hi, 2), "%")
colores <- rev(heat.colors(nrow(tabla2)))

pie(tabla2$hi,
    main = "Distribución de la recuperacion en costas aplicada",
    radius = 1,
    col = colores,
    labels = etiqueta_cos,
    cex = 0.8)

legend("bottomleft",
       legend = tabla2$Recuperacion_costas,
       title = "Recuperacion en costas aplicada",
       fill = colores,
       cex = 0.8,         
       inset = 0.001,    
       bty = "n")         

2.6 Indicadores

# MODA
moda_cos <- names(TDF_Re_c)[which.max(TDF_Re_c )]
print(paste("MODA (Recuperacion en costas aplicada):", moda_cos))
## [1] "MODA (Recuperacion en costas aplicada): TRUE"
# MEDIANA
cosm <- ceiling((length(Re_c) + 1) / 2)
mediana_cos <- Re_c[cosm]
print(paste("MEDIANA (Recuperacion en costas aplicada):", mediana_cos))
## [1] "MEDIANA (Recuperacion en costas aplicada): TRUE"

2.7 Conclusión

La variable fluctúa entre verdadero y falso, donde los datos con mayor frecuencia están en verdadero con una mediana de verdadero, lo cual nos indica con mayor frecuencia se corrige los derrames de hidrocarburos en las costas.

3 Variable de tratamiento biologico aplicado

Tr_b <- as.logical(datos$Tratamiento_biologico_aplicado)
Tr_b <- na.omit(Tr_b)
str(Tr_b) 
##  logi [1:30] TRUE TRUE TRUE TRUE TRUE TRUE ...
##  - attr(*, "na.action")= 'omit' int [1:3520] 2 5 6 7 8 9 10 11 12 13 ...
TDF_Tr_b <- table(Tr_b) 
tabla3<- as.data.frame(TDF_Tr_b)
colnames(tabla3) <- c("Tratamiento_biologico","ni")
tabla3$hi <- round(tabla3$ni/sum(tabla3$ni)*100 ,2) 
print(tabla3)
##   Tratamiento_biologico ni hi
## 1                 FALSE 12 40
## 2                  TRUE 18 60

3.1 Gráfica 1: Distribución del tratamiento biologico aplicado (local)

barplot(tabla3$ni,
        names.arg = tabla3$Tratamiento_biologico,
        main = "Distribución del tratamiento biologico aplicado (local)",
        xlab = "Tratamiento biologico aplicado",
        ylab = "Cantidad",
        col = "skyblue",
        las = 2,
        cex.names = 0.8,
        cex.axis = 0.8,
        cex.lab = 1.2)

3.2 Gráfica 2: Distribución del tratamiento biologico aplicado (global)

barplot(tabla3$ni,
        names.arg = tabla3$Tratamiento_biologico,
        main = "Distribución del tratamiento biologico aplicado (global)",
        xlab = "Tratamiento biologico aplicado",
        ylab = "Cantidad",
        col = "blue",
        ylim = c(0, sum(tabla3$ni)),
        las = 2,
        cex.names = 0.8,
        cex.axis = 0.8,
        cex.lab = 1.2)

3.3 Gráfica 3: Distribución porcentual del tratamiento biologico aplicado (local)

barplot(tabla3$hi,
        names.arg = tabla3$Tratamiento_biologico,
        main = "Distribución del tratamiento biologico aplicado (local)",
        xlab = "Tratamiento biologico aplicado",
        ylab = "Porcentaje (%)",
        col = "green",
        las = 2,
        cex.names = 0.8,
        cex.axis = 0.8,
        cex.lab = 1.2)

3.4 Gráfica 4: Distribución porcentual del tratamiento biologico aplicado (global)

barplot(tabla3$hi,
        names.arg = tabla3$Tratamiento_biologico,
        main = "Distribución del tratamiento biologico aplicado (global)",
        xlab = "Tratamiento biologico aplicado",
        ylab = "Porcentaje (%)",
        col = "darkgreen",
        ylim = c(0, 100),
        las = 2,
        cex.names = 0.8,
        cex.axis = 0.8,
        cex.lab = 1.2)

3.5 Gráfica 5: Distribución del tratamiento biologico aplicado

etiqueta_bio <- paste0(round(tabla3$hi, 2), "%")
colores <- rev(heat.colors(nrow(tabla3)))

pie(tabla3$hi,
    main = "Distribución del tratamiento biologico aplicado",
    radius = 1,
    col = colores,
    labels = etiqueta_bio,
    cex = 0.8)

legend("bottomleft",
       legend = tabla3$Tratamiento_biologico,
       title = "Tratamiento biologico aplicado",
       fill = colores,
       cex = 0.8,         
       inset = 0.001,    
       bty = "n")         

3.6 Indicadores

# MODA
moda_bio <- names(TDF_Tr_b)[which.max(TDF_Tr_b )]
print(paste("MODA (Tratamiento biologico aplicado):", moda_bio))
## [1] "MODA (Tratamiento biologico aplicado): TRUE"
# MEDIANA
biom <- ceiling((length(Tr_b) + 1) / 2)
mediana_bio <- Tr_b[biom]
print(paste("MEDIANA (Tratamiento biologico aplicado):", mediana_bio))
## [1] "MEDIANA (Tratamiento biologico aplicado): TRUE"

3.7 Conclusión

La variable fluctúa entre verdadero y falso, donde los datos con mayor frecuencia están en verdadero con una mediana de verdadero, lo cual nos indica con mayor frecuencia se usan microorganismos para degradar hidrocarburos contaminantes.

4 Variable de dispersion quimica aplicada

Di_q <- as.logical(datos$Dispersion_quimica_aplicada)
Di_q <- na.omit(Di_q)
str(Di_q) 
##  logi [1:93] TRUE TRUE TRUE TRUE TRUE TRUE ...
##  - attr(*, "na.action")= 'omit' int [1:3457] 1 5 6 7 13 17 18 21 22 23 ...
TDF_Di_q <- table(Di_q) 
tabla4<- as.data.frame(TDF_Di_q)
colnames(tabla4) <- c("Dispersion_quimica","ni")
tabla4$hi <- round(tabla4$ni/sum(tabla4$ni)*100 ,2) 
print(tabla4)
##   Dispersion_quimica ni    hi
## 1              FALSE 20 21.51
## 2               TRUE 73 78.49

4.1 Gráfica 1: Distribución de la dispersion quimica aplicada (local)

barplot(tabla4$ni,
        names.arg = tabla4$Dispersion_quimica,
        main = "Distribución de la dispersion quimica aplicada (local)",
        xlab = "Dispersion quimica aplicada",
        ylab = "Cantidad",
        col = "skyblue",
        las = 2,
        cex.names = 0.8,
        cex.axis = 0.8,
        cex.lab = 1.2)

4.2 Gráfica 2: Distribución de la dispersion quimica aplicada (global)

barplot(tabla4$ni,
        names.arg = tabla4$Dispersion_quimica,
        main = "Distribución de la dispersion quimica aplicada (global)",
        xlab = "Dispersion quimica aplicada",
        ylab = "Cantidad",
        col = "blue",
        ylim = c(0, sum(tabla4$ni)),
        las = 2,
        cex.names = 0.8,
        cex.axis = 0.8,
        cex.lab = 1.2)

4.3 Gráfica 3: Distribución porcentual de la dispersion quimica aplicada (local)

barplot(tabla4$hi,
        names.arg = tabla4$Dispersion_quimica,
        main = "Distribución de la dispersion quimica aplicada (local)",
        xlab = "Dispersion quimica aplicada",
        ylab = "Porcentaje (%)",
        col = "green",
        las = 2,
        cex.names = 0.8,
        cex.axis = 0.8,
        cex.lab = 1.2)

4.4 Gráfica 4: Distribución porcentual de la dispersion quimica aplicada (global)

barplot(tabla4$hi,
        names.arg = tabla4$Dispersion_quimica,
        main = "Distribución de la dispersion quimica aplicada (global)",
        xlab = "Dispersion quimica aplicada",
        ylab = "Porcentaje (%)",
        col = "darkgreen",
        ylim = c(0, 100),
        las = 2,
        cex.names = 0.8,
        cex.axis = 0.8,
        cex.lab = 1.2)

4.5 Gráfica 5: Distribución de la dispersion quimica aplicada

etiqueta_qui <- paste0(round(tabla4$hi, 2), "%")
colores <- rev(heat.colors(nrow(tabla4)))

pie(tabla4$hi,
    main = "Distribución de la dispersion quimica aplicada",
    radius = 1,
    col = colores,
    labels = etiqueta_qui,
    cex = 0.8)

legend("bottomleft",
       legend = tabla4$Dispersion_quimica,
       title = "Dispersion quimica aplicada",
       fill = colores,
       cex = 0.8,         
       inset = 0.001,    
       bty = "n")         

4.6 Indicadores

# MODA
moda_qui <- names(TDF_Di_q)[which.max(TDF_Di_q )]
print(paste("MODA (Dispersion quimica aplicada):", moda_qui))
## [1] "MODA (Dispersion quimica aplicada): TRUE"
# MEDIANA
quim <- ceiling((length(Di_q) + 1) / 2)
mediana_qui <- Di_q[quim]
print(paste("MEDIANA (Dispersion quimica aplicada):", mediana_qui))
## [1] "MEDIANA (Dispersion quimica aplicada): FALSE"

4.7 Conclusión

La variable fluctúa entre verdadero y falso, donde los datos con mayor frecuencia están en verdadero con una mediana de falso, lo cual nos indica con mayor frecuencia se remedia derrames de hidrocarburos con quimicos.

5 Variable de la quema aplicada

Qu_a <- as.logical(datos$Quema_aplicada)
Qu_a <- na.omit(Qu_a)
str(Qu_a) 
##  logi [1:68] TRUE TRUE TRUE TRUE TRUE TRUE ...
##  - attr(*, "na.action")= 'omit' int [1:3482] 1 4 5 6 7 11 12 14 16 17 ...
TDF_Qu_a <- table(Qu_a) 
tabla5<- as.data.frame(TDF_Qu_a)
colnames(tabla5) <- c("Quema_aplicada","ni")
tabla5$hi <- round(tabla5$ni/sum(tabla5$ni)*100 ,2) 
print(tabla5)
##   Quema_aplicada ni    hi
## 1          FALSE 19 27.94
## 2           TRUE 49 72.06

5.1 Gráfica 1: Distribución de la quema aplicada (local)

barplot(tabla5$ni,
        names.arg = tabla5$Quema_aplicada,
        main = "Distribución de la quema aplicada (local)",
        xlab = "Quema aplicada",
        ylab = "Cantidad",
        col = "skyblue",
        las = 2,
        cex.names = 0.8,
        cex.axis = 0.8,
        cex.lab = 1.2)

5.2 Gráfica 2: Distribución de la quema aplicada (global)

barplot(tabla5$ni,
        names.arg = tabla5$Quema_aplicada,
        main = "Distribución de la quema aplicada (global)",
        xlab = "Quema aplicada",
        ylab = "Cantidad",
        col = "blue",
        ylim = c(0, sum(tabla5$ni)),
        las = 2,
        cex.names = 0.8,
        cex.axis = 0.8,
        cex.lab = 1.2)

5.3 Gráfica 3: Distribución porcentual de la quema aplicada (local)

barplot(tabla5$hi,
        names.arg = tabla5$Quema_aplicada,
        main = "Distribución de la quema aplicada (local)",
        xlab = "Quema aplicada",
        ylab = "Porcentaje (%)",
        col = "green",
        las = 2,
        cex.names = 0.8,
        cex.axis = 0.8,
        cex.lab = 1.2)

5.4 Gráfica 4: Distribución porcentual de la quema aplicada (global)

barplot(tabla5$hi,
        names.arg = tabla5$Quema_aplicada,
        main = "Distribución de la quema aplicada (global)",
        xlab = "Quema aplicada",
        ylab = "Porcentaje (%)",
        col = "darkgreen",
        ylim = c(0, 100),
        las = 2,
        cex.names = 0.8,
        cex.axis = 0.8,
        cex.lab = 1.2)

5.5 Gráfica 5: Distribución de la quema aplicada

etiqueta_que <- paste0(round(tabla5$hi, 2), "%")
colores <- rev(heat.colors(nrow(tabla5)))

pie(tabla5$hi,
    main = "Distribución de la quema aplicada",
    radius = 1,
    col = colores,
    labels = etiqueta_que,
    cex = 0.8)

legend("bottomleft",
       legend = tabla5$Quema_aplicada,
       title = "Quema aplicada",
       fill = colores,
       cex = 0.8,         
       inset = 0.001,    
       bty = "n")         

5.6 Indicadores

# MODA
moda_que <- names(TDF_Qu_a)[which.max(TDF_Qu_a )]
print(paste("MODA (Quema aplicada):", moda_que))
## [1] "MODA (Quema aplicada): TRUE"
# MEDIANA
quem <- ceiling((length(Qu_a) + 1) / 2)
mediana_que <- Qu_a[quem]
print(paste("MEDIANA (Quema aplicada):", mediana_que))
## [1] "MEDIANA (Quema aplicada): FALSE"

5.7 Conclusión

La variable fluctúa entre verdadero y falso, donde los datos con mayor frecuencia están en verdadero con una mediana de falso, lo cual nos indica con mayor frecuencia se elimina gases inflamables y de alta presión.