setwd("/cloud/project/")
datos<-read.csv("DerramesEEUU.csv", header = TRUE, sep=";" , dec=".")
str(datos)
## 'data.frame': 2760 obs. of 59 variables:
## $ NumeroInforme : int 20100064 20100054 20100092 20100098 20100101 20100102 20100113 20100120 20100039 20100150 ...
## $ NumeroComplementario : int 15072 15114 15120 15127 15130 15132 15146 15162 15197 15205 ...
## $ DiaAccidente : int 8 25 10 28 27 29 11 23 15 11 ...
## $ MesAccidente : int 4 3 5 4 5 5 6 5 3 1 ...
## $ AnioAccidente : int 2010 2010 2010 2010 2010 2010 2010 2010 2010 2010 ...
## $ HoraAccidente : int 6 13 6 24 3 14 7 6 15 2 ...
## $ AmPmAccidente : chr "a. m." "p. m." "a. m." "p. m." ...
## $ IDOperador : int 31684 18779 30829 12105 20160 30003 1248 300 18718 32296 ...
## $ NombreOperador : chr "CONOCOPHILLIPS" "SUNOCO, INC (R&M)" "TEPPCO CRUDE PIPELINE, LLC" "MAGELLAN AMMONIA PIPELINE, L.P." ...
## $ NombreOleoductoInstalacion : chr "GD-03, GOLD LINE" "PHILADELPHIA REFINERY - WEST YARD" "HOBBS TO MIDLAND" "WHITING TO EARLY SEGMENT" ...
## $ UbicacionOleoducto : chr "ONSHORE" "ONSHORE" "ONSHORE" "ONSHORE" ...
## $ TipoOleoducto : chr "ABOVEGROUND" "ABOVEGROUND" "UNDERGROUND" "UNDERGROUND" ...
## $ TipoLiquido : chr "REFINED AND/OR PETROLEUM PRODUCT (NON-HVL), LIQUID" "REFINED AND/OR PETROLEUM PRODUCT (NON-HVL), LIQUID" "CRUDE OIL" "HVL OR OTHER FLAMMABLE OR TOXIC FLUID, GAS" ...
## $ SubtipoLiquido : chr "GASOLINE (NON-ETHANOL)" "OTHER" "-" "ANHYDROUS AMMONIA" ...
## $ NombreLiquido : chr "-" "VACUUM GAS OIL (VGO)" "-" "-" ...
## $ CiudadAccidente : chr "GREEN RIDGE" "PHILADELPHIA" "HOBBS" "SCHALLER" ...
## $ CondadoAccidente : chr "PETTIS" "PHILADELPHIA" "LEA" "IDA" ...
## $ EstadoAccidente : chr "MO" "PA" "NM" "IA" ...
## $ LatitudAccidente : chr "38,63064" "39,91934" "32,611" "42,45589" ...
## $ LongitudAccidente : chr "-93,39656" "-75,20447" "-103,0763" "-95,32798" ...
## $ CategoriaCausa : chr "NATURAL FORCE DAMAGE" "MATERIAL/WELD/EQUIP FAILURE" "CORROSION" "MATERIAL/WELD/EQUIP FAILURE" ...
## $ SubcategoriaCausa : chr "TEMPERATURE" "NON-THREADED CONNECTION FAILURE" "EXTERNAL" "CONSTRUCTION, INSTALLATION OR FABRICATION-RELATED" ...
## $ LiberacionInvoluntariaBarriles : chr "0,24" "1700" "2" "0,36" ...
## $ LiberacionIntencionalBarriles : chr "0" "0" "-" "0.05" ...
## $ RecuperacionLiquidoBarriles : chr "0,07" "1699" "0,48" "0" ...
## $ PerdidaNetaBarriles : chr "0,17" "1" "1,52" "0,36" ...
## $ IgnicionLiquido : chr "NO" "NO" "NO" "NO" ...
## $ ExplosionLiquido : chr "NO" "NO" "NO" "NO" ...
## $ CierreOleoducto : chr "YES" "YES" "NO" "NO" ...
## $ DiaCierre : chr "8" "25" "-" "-" ...
## $ MesCierre : chr "4" "3" "-" "-" ...
## $ AnioCierre : chr "2010" "2010" "-" "-" ...
## $ HoraCierre : chr "6" "18" "-" "-" ...
## $ AmPmCierre : chr "a. m." "p. m." "-" "-" ...
## $ DiaReinicio : chr "9" "28" "-" "-" ...
## $ MesReinicio : chr "4" "3" "-" "-" ...
## $ AnioReinicio : chr "2010" "2010" "-" "-" ...
## $ HoraReinicio : chr "10" "16" "-" "-" ...
## $ AmPmReinicio : chr "a. m." "p. m." "-" "-" ...
## $ EvacuacionesPublicas : chr "-" "0" "-" "-" ...
## $ LesionesEmpleadosOperador : chr "-" "-" "-" "-" ...
## $ LesionesContratistasOperador : chr "-" "-" "-" "-" ...
## $ LesionesRescatistasEmergencia : chr "-" "-" "-" "-" ...
## $ OtrasLesiones : chr "-" "-" "-" "-" ...
## $ LesionesPublico : chr "-" "-" "-" "-" ...
## $ TodasLesiones : chr "-" "-" "-" "-" ...
## $ FallecimientosEmpleadosOperador : chr "-" "-" "-" "-" ...
## $ FallecimientosContratistasOperador : chr "-" "-" "-" "-" ...
## $ FallecimientosRescatistasEmergencia : chr "-" "-" "-" "-" ...
## $ OtrosFallecimientos : chr "-" "-" "-" "-" ...
## $ FallecimientosPublico : chr "-" "-" "-" "-" ...
## $ TodosFallecimientos : chr "-" "-" "-" "-" ...
## $ CostosDaniosPropiedad : chr "0" "0" "30000" "12000" ...
## $ CostosMercanciaPerdidas : chr "27" "0" "100" "30" ...
## $ CostosDaniosPropiedadesPublicasPrivadas: chr "0" "0" "1000" "5000" ...
## $ CostosRespuestaEmergencia : chr "0" "0" "-" "0" ...
## $ CostosRemediacionAmbiental : chr "0" "100000" "20000" "15000" ...
## $ OtrosCostos : chr "0" "0" "-" "0" ...
## $ TodosCostos : int 27 100000 51100 32030 5220 150 7500 9965 11497 165593 ...
datos$MesAccidente <- factor(datos$MesAccidente,
levels = 1:12,
labels = c("Enero", "Febrero", "Marzo", "Abril",
"Mayo", "Junio", "Julio", "Agosto",
"Septiembre", "Octubre", "Noviembre",
"Diciembre"),
ordered = TRUE)
Mes <- datos$MesAccidente
Mes <- na.omit(Mes)
TDFMes <- table(Mes)
TablaMes <- as.data.frame(TDFMes)
names(TablaMes) <- c("Mes","ni")
TablaMes$hi_porc <- round((TablaMes$ni / sum(TablaMes$ni)) * 100, 2)
TDFFinalMes<- rbind(TablaMes, data.frame(
Mes = "TOTAL",
ni = sum(TablaMes$ni),
hi_porc = 100
))
library(gt)
tabla_Mes <- TDFFinalMes %>%
gt() %>%
cols_label(
hi_porc = md("**hi(%)**")
) %>%
tab_header(
title = md("**Tabla N°1**"),
subtitle = md("**Distribución de accidentes en oleoductos por mes en EE.UU. (2010-2017)**")
) %>%
tab_source_note(
source_note = md("Autor: Grupo 1")
) %>%
tab_options(
table.background.color = "white",
row.striping.background_color = "white",
table.border.top.color = "black",
table.border.bottom.color = "black",
table.border.top.style = "solid",
table.border.bottom.style = "solid",
column_labels.font.weight = "bold",
column_labels.border.top.color = "black",
column_labels.border.bottom.color = "black",
column_labels.border.bottom.width = px(2),
heading.border.bottom.color = "black",
heading.border.bottom.width = px(2),
table_body.hlines.color = "gray",
table_body.border.bottom.color = "black"
) %>%
tab_style(
style = cell_text(weight = "bold"),
locations = cells_body(
rows = as.character(Mes) == "TOTAL"
)
)
tabla_Mes
| Tabla N°1 | ||
| Distribución de accidentes en oleoductos por mes en EE.UU. (2010-2017) | ||
| Mes | ni | hi(%) |
|---|---|---|
| Enero | 273 | 9.89 |
| Febrero | 249 | 9.02 |
| Marzo | 242 | 8.77 |
| Abril | 242 | 8.77 |
| Mayo | 239 | 8.66 |
| Junio | 203 | 7.36 |
| Julio | 221 | 8.01 |
| Agosto | 247 | 8.95 |
| Septiembre | 217 | 7.86 |
| Octubre | 195 | 7.07 |
| Noviembre | 219 | 7.93 |
| Diciembre | 213 | 7.72 |
| TOTAL | 2760 | 100.00 |
| Autor: Grupo 1 | ||
A continuación, las gráficas se presentan con escalas local y global:
la escala local ajusta el eje Y al valor máximo de la categoría más
alta, mientras que la escala global fija el eje Y a un límite total,
mostrando cada categoría en relación al conjunto completo.
par(mar = c(7, 6, 4, 2))
barplot(
TablaMes$ni,
main = "Gráfica N°1: Distribución de la cantidad de accidentes en
oleoductos por mes en EE.UU.",
ylab = "Cantidad",
col = "darkseagreen1",
names.arg = TablaMes$Mes,
las = 2,
cex.main = 1.2,
cex.lab = 1.2,
cex.axis = 0.8,
cex.names = 0.8,
ylim = c(0,300),
)
mtext("Mes", side = 1, line = 4.6, cex = 1.2)
par(mar = c(7, 6, 4, 2))
barplot(
TablaMes$ni,
main = "Gráfica N°2: Distribución de la cantidad de accidentes en
oleoductos por mes en relación al total en EE.UU.",
ylab = "Cantidad",
names.arg = TablaMes$Mes,
col = "darkseagreen2",
cex.main = 1.2,
las = 2,
cex.lab = 1.2,
cex.axis = 0.8,
cex.names = 0.8,
ylim = c(0,2760),
)
mtext("Mes", side = 1, line = 4.6, cex = 1.2)
par(mar = c(7, 6, 4, 2))
barplot(
TablaMes$hi,
main = "Gráfica N°3: Distribución porcentual de accidentes en oleoductos
por mes en EE.UU.",
ylab = "Porcentaje (%)",
names.arg = TablaMes$Mes,
col = "darkseagreen3",
cex.main = 1.2,
las = 2,
cex.lab = 1.2,
cex.axis = 1,
cex.names = 0.8,
ylim = c(0,10),
)
mtext("Mes", side = 1, line = 4.6, cex = 1.2)
par(mar = c(7, 6, 4, 2))
barplot(
TablaMes$hi,
main = "Gráfica N°4: Distribución porcentual de accidentes en oleoductos
por mes en relación al total en EE.UU.",
ylab = "Porcentaje (%)",
names.arg = TablaMes$Mes,
col = "darkseagreen4",
cex.main = 1.2,
las = 2,
cex.lab = 1.2,
cex.axis = 1,
cex.names = 0.8,
ylim = c(0, 100)
)
mtext("Mes", side = 1, line = 4.6, cex = 1.2)
par(mar = c(6, 6, 4, 2), xpd = TRUE)
colores_mes <- colorRampPalette(c("#C1FFC1", "chartreuse4"))(nrow(TablaMes))
etiquetas_porcentaje <- paste0(TablaMes$hi, "%")
pie(
TablaMes$ni,
labels = etiquetas_porcentaje,
main = "Gráfica N°5: Distribución porcentual de accidentes en oleoductos por
mes en EE.UU.",
col = colores_mes,
cex.main = 1.2,
cex = 0.8
)
legend(
x = 1.5, y = -0.5,
legend = TablaMes$Mes,
title = "Leyenda",
fill = colores_mes,
cex = 0.7,
y.intersp = 0.8,
bty = "o",
inset = 0.2
)
moda_mes <- TablaMes$Mes[which.max(TablaMes$ni)]
El mes con más accidentes en oleoductos en Estados Unidos es en: Enero
La variable Mes, correspondiente a los accidentes en
oleoductos ocurridos en EE.UU. durante el periodo 2010–2017, es de tipo
ordinal, fluctua entre . Los resultados muestran que en el mes de Enero
se concentra la mayor proporción de accidentes, con un 9.89% del total.
Esto no necesariamente indica un efecto perjudicial inherente del mes,
pero evidencia un patrón estacional que puede estar relacionado con
factores climáticos, operativos o de demanda energética. Conocer esta
tendencia es útil, ya que permite implementar medidas preventivas y
estrategias de mantenimiento anticipadas, reduciendo riesgos humanos,
ambientales y económicos durante este periodo.