## '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 ...
## $ Año : 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" ...
## $ Cantidad_recuperada_superficie : int NA NA 1 NA NA NA NA NA NA NA ...
## $ Cantidad_recuperada_costas : int NA NA 1 NA NA NA NA NA NA NA ...
## $ Cantidad_tratada_biologicamente : int 1 NA 1 1 NA NA NA NA NA NA ...
## $ Cantidad_dispersada_quimicamente: int NA 1 1 1 NA NA NA 1 1 1 ...
## $ Cantidad_quemada : 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 "Daño del tanque " "Incendio y explosión " "Incendio y explosión " "Daño 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" ...
## Warning: NAs introduced by coercion
# Creación de los rangos para la radiación solar
rango_Longuitud <- cut(datos$Longuitud,
breaks = seq(floor(min(datos$Longuitud, na.rm = TRUE)),
ceiling(max(datos$Longuitud, na.rm = TRUE)),
by = 20), # Intervalos de 10
right = FALSE)
# Generación de la tabla de frecuencias
TDF_Longuitud <- table(rango_Longuitud)
tabla_Longuitud <- as.data.frame(TDF_Longuitud)
# Cálculo de los porcentajes
hi_Longuitud <- (tabla_Longuitud$Freq / sum(tabla_Longuitud$Freq)) * 100
tabla_Longuitud$hi <- round(hi_Longuitud, 2)
# Cálculo de frecuencias acumuladas
Niasc_Longuitud <- cumsum(tabla_Longuitud$Freq)
Hiasc_Longuitud <- cumsum(hi_Longuitud)
Nidsc_Longuitud <- rev(cumsum(rev(tabla_Longuitud$Freq)))
Hidsc_Longuitud <- rev(cumsum(rev(hi_Longuitud)))
# Creación de la tabla final con todos los cálculos
tabla_Longuitud_Final <- data.frame(
Rango_Longuitud = levels(rango_Longuitud),
Frecuencia = tabla_Longuitud$Freq,
Porcentaje = tabla_Longuitud$hi,
Niasc = Niasc_Longuitud,
Hiasc = round(Hiasc_Longuitud, 2),
Nidsc = Nidsc_Longuitud,
Hidsc = round(Hidsc_Longuitud, 2)
)
# Imprimir tabla final
print(tabla_Longuitud_Final)
## Rango_Longuitud Frecuencia Porcentaje Niasc Hiasc Nidsc Hidsc
## 1 [-174,-154) 5 11.36 5 11.36 44 100.00
## 2 [-154,-134) 3 6.82 8 18.18 39 88.64
## 3 [-134,-114) 4 9.09 12 27.27 36 81.82
## 4 [-114,-94) 4 9.09 16 36.36 32 72.73
## 5 [-94,-74) 16 36.36 32 72.73 28 63.64
## 6 [-74,-54) 8 18.18 40 90.91 12 27.27
## 7 [-54,-34) 0 0.00 40 90.91 4 9.09
## 8 [-34,-14) 0 0.00 40 90.91 4 9.09
## 9 [-14,6) 1 2.27 41 93.18 4 9.09
## 10 [6,26) 1 2.27 42 95.45 3 6.82
## 11 [26,46) 0 0.00 42 95.45 2 4.55
## 12 [46,66) 2 4.55 44 100.00 2 4.55
## 13 [66,86) 0 0.00 44 100.00 0 0.00
## 14 [86,106) 0 0.00 44 100.00 0 0.00
## 15 [106,126) 0 0.00 44 100.00 0 0.00
## 16 [126,146) 0 0.00 44 100.00 0 0.00
bp1 <- barplot(tabla_Longuitud_Final$Frecuencia,
names.arg = tabla_Longuitud_Final$Rango_Longuitud,
main = "Gráfica N°1: Frecuencia de la Longitud en los derrames globales",
cex.main = 0.8,
xlab = "Longitud",
ylab = "Frecuencia",
col = terrain.colors(length(TDF_Longuitud)),
border = "black")
# Añadir valores encima de cada barra
text(x = bp1, y = tabla_Longuitud_Final$Frecuencia,labels = tabla_Longuitud_Final$Frecuencia,
pos = 3, cex = 0.7, col = "black")
bp2 <- barplot(TDF_Longuitud,
main = "Gráfica N°2: Frecuencia Total de la Longitud en Derrames Petroleros a Nivel Global",
cex.main = 0.8,
xlab = "Longitud",
ylab = "Cantidad",
names.arg = tabla_Longuitud_Final$Rango_Longuitud,
col = rainbow(length(TDF_Longuitud)),
ylim = c(0, sum(TDF_Longuitud)))
# Añadir valores encima de cada barra
text(x = bp2,y = TDF_Longuitud,labels = TDF_Longuitud, pos = 3, cex = 0.7, col = "black")
bp3 <- barplot(tabla_Longuitud_Final$Porcentaje,
main = "Gráfica N°3: Porcentaje Local de la Longitud en Derrames Petroleros a Nivel Global",
cex.main = 0.8,
xlab = "Longitud",
ylab = "Porcentaje",
col = terrain.colors(length(TDF_Longuitud)),
names.arg = tabla_Longuitud_Final$Rango_Longuitud,
ylim = c(0, max(tabla_Longuitud_Final$Porcentaje) * 1.1))
# Añadir valores encima de cada barra
text(x = bp3, y = tabla_Longuitud_Final$Porcentaje,
labels = paste0(round(tabla_Longuitud_Final$Porcentaje, 1), "%"),
pos = 3, cex = 0.7, col = "black")
bp4 <- barplot(tabla_Longuitud_Final$Porcentaje,
main = "Gráfica N°4: Porcentaje Global de la Longitud en Derrames Petroleros a Nivel Global",
cex.main = 0.8,
xlab = "Longitud",
ylab = "Porcentaje",
col = rainbow(length(TDF_Longuitud)),
names.arg = tabla_Longuitud_Final$Rango_Longuitud,
ylim = c(0, 100))
# Añadir valores encima de cada barra
text(x = bp4,y = tabla_Longuitud_Final$Porcentaje,
labels = paste0(round(tabla_Longuitud_Final$Porcentaje, 1), "%"),
pos = 3, cex = 0.7, col = "black")
boxplot(datos$Longuitud,
horizontal = TRUE,
col = "beige",
main = "Gráfica N°5: Diagrama de Caja de la Longitud en Derrames Petroleros a Nivel Global",
cex.main = 0.8,
xlab = "Longitud")
x_Longuitud <- 1:length(tabla_Longuitud_Final$Rango_Longuitud) # solo índice
y_ni_asc_Longuitud <- tabla_Longuitud_Final$Niasc
y_ni_dsc_Longuitud <- tabla_Longuitud_Final$Nidsc
plot(x_Longuitud, y_ni_asc_Longuitud,
type = "b",
main = "Gráfica N°6: Ojivas de la Longitud en Derrames Petroleros a Nivel Global",
cex.main = 0.8,
xlab = "Longitud ",
ylab = "Frecuencia acumulada",
col = "black")
lines(x_Longuitud, y_ni_dsc_Longuitud, col = "blue", type = "b")
grid()
legend("right", legend = c("Ascendente", "Descendente"),
col = c("black", "blue"), lty = 1, cex = 0.6)
Los resultados muestran que la mayor concentración de derrames petroleros se encuentra en los rangos de longitud negativa, destacando el intervalo [-94, -74) con un 36.4%, seguido por [-74, -54) con un 18.2%. Esto evidencia que la mayoría de los eventos se registran en el hemisferio occidental. El diagrama de caja confirma esta tendencia, ya que la mediana se concentra alrededor de valores negativos, mientras que se observan valores atípicos en longitudes positivas que representan pocos casos aislados. Finalmente, las ojivas muestran que más del 70% de los derrames se acumulan en los primeros cinco rangos, lo cual indica una distribución predominantemente agrupada hacia el occidente, con una menor frecuencia en otras regiones longitudinales.