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 ...
TDFEstado <- table(Estado)
TablaEstado <- as.data.frame(TDFEstado)
names(TablaEstado) <- c("Categoria","ni")
TablaEstado$`hi(%)` <- round((TablaEstado$ni / sum(TablaEstado$ni)) * 100, 2)
for (i in 1:nrow(TablaEstado)) {
region <- as.character(TablaEstado$Categoria[i])
if (region %in% c("ME","NH","VT","MA","RI","CT","NY","NJ","PA")) {
TablaEstado$Grupo[i] <- "Noreste"
} else if (region %in% c("OH","MI","IN","IL","WI","MN","IA","MO","ND","SD","NE","KS")) {
TablaEstado$Grupo[i] <- "Medio Oeste"
} else if (region %in% c("DE","MD","VA","WV","NC","SC","GA","FL","KY","TN","MS","AL","AR","LA","OK","TX")) {
TablaEstado$Grupo[i] <- "Sur"
} else if (region %in% c("MT","ID","WY","CO","NM","AZ","UT","NV","WA","OR","CA","AK","HI")) {
TablaEstado$Grupo[i] <- "Oeste"
} else {
TablaEstado$Grupo[i] <- "Otro"
}
}
library(gt)
tabla_estado <- TablaEstado %>%
gt() %>%
cols_label(
Categoria = md("**Estado**"),
ni = md("**ni**"),
Grupo = md("**Región**")
) %>%
tab_header(
title = md("**Tabla N° 1**"),
subtitle = md("**Distribución de accidentes en oleoductos por Estado 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 = TablaEstado$Categoria == "TOTAL"
)
)
tabla_estado
Tabla N° 1 | |||
Distribución de accidentes en oleoductos por Estado en EE.UU. (2010-2017) | |||
Estado | ni | hi(%) | Región |
---|---|---|---|
AK | 11 | 0.40 | Oeste |
AL | 20 | 0.72 | Sur |
AR | 13 | 0.47 | Sur |
CA | 148 | 5.36 | Oeste |
CO | 24 | 0.87 | Oeste |
CT | 2 | 0.07 | Noreste |
FL | 7 | 0.25 | Sur |
GA | 17 | 0.62 | Sur |
HI | 3 | 0.11 | Oeste |
IA | 46 | 1.67 | Medio Oeste |
ID | 4 | 0.14 | Oeste |
IL | 108 | 3.91 | Medio Oeste |
IN | 57 | 2.07 | Medio Oeste |
KS | 150 | 5.43 | Medio Oeste |
KY | 14 | 0.51 | Sur |
LA | 163 | 5.91 | Sur |
MA | 2 | 0.07 | Noreste |
MD | 8 | 0.29 | Sur |
ME | 1 | 0.04 | Noreste |
MI | 29 | 1.05 | Medio Oeste |
MN | 59 | 2.14 | Medio Oeste |
MO | 42 | 1.52 | Medio Oeste |
MS | 32 | 1.16 | Sur |
MT | 30 | 1.09 | Oeste |
NC | 15 | 0.54 | Sur |
ND | 49 | 1.78 | Medio Oeste |
NE | 22 | 0.80 | Medio Oeste |
NJ | 84 | 3.04 | Noreste |
NM | 57 | 2.07 | Oeste |
NV | 1 | 0.04 | Oeste |
NY | 14 | 0.51 | Noreste |
OH | 53 | 1.92 | Medio Oeste |
OK | 236 | 8.55 | Sur |
OR | 4 | 0.14 | Oeste |
PA | 45 | 1.63 | Noreste |
SC | 16 | 0.58 | Sur |
SD | 9 | 0.33 | Medio Oeste |
TN | 7 | 0.25 | Sur |
TX | 997 | 36.12 | Sur |
UT | 8 | 0.29 | Oeste |
VA | 20 | 0.72 | Sur |
WA | 8 | 0.29 | Oeste |
WI | 27 | 0.98 | Medio Oeste |
WV | 2 | 0.07 | Sur |
WY | 96 | 3.48 | Oeste |
Autor: Grupo 1 |
RegionGrupo <- TablaEstado$Grupo
TDFRegionGrupo <- table(RegionGrupo)
TablaRegionGrupo <- as.data.frame(TDFRegionGrupo)
names(TablaRegionGrupo) <- c("Categoria","ni")
TablaRegionGrupo$hi_porc <- round((TablaRegionGrupo$ni / sum(TablaRegionGrupo$ni)) * 100, 2)
TDFFinalRegionGrupo <- rbind(TablaRegionGrupo, data.frame(
Categoria = "TOTAL",
ni = sum(TablaRegionGrupo$ni),
hi_porc = 100
))
tabla_region <- TDFFinalRegionGrupo %>%
gt() %>%
cols_label(
Categoria = md("**Región**"),
ni = md("**ni**"),
hi_porc = md("**hi(%)**")
) %>%
tab_header(
title = md("**Tabla N° 2**"),
subtitle = md("**Distribución de accidentes en oleoductos por Región 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 = TDFFinalRegionGrupo$Categoria == "TOTAL"
)
)
tabla_region
Tabla N° 2 | ||
Distribución de accidentes en oleoductos por Región en EE.UU. (2010-2017) | ||
Región | ni | hi(%) |
---|---|---|
Medio Oeste | 12 | 26.67 |
Noreste | 6 | 13.33 |
Oeste | 12 | 26.67 |
Sur | 15 | 33.33 |
TOTAL | 45 | 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(6, 6, 4, 2))
barplot(
TablaRegionGrupo$ni,
main = "Gráfica No.1: Distribución de la cantidad de accidentes en
oleoductos por región en EE.UU.",
xlab = "Región",
ylab = "Cantidad",
col = "lightblue1",
names.arg = TablaRegionGrupo$Categoria,
las = 1,
cex.main = 1.2,
cex.lab = 1.2,
cex.axis = 0.8,
cex.names = 0.8
)
par(mar = c(6, 6, 4, 2))
barplot(
TablaRegionGrupo$ni,
main = "Gráfica No.2: Distribución de la cantidad de accidentes en
oleoductos por región en relación al total en EE.UU.",
xlab = "Región",
ylab = "Cantidad",
names.arg = TablaRegionGrupo$Categoria,
col = "lightblue2",
cex.main = 1.2,
las = 1,
cex.lab = 1.2,
cex.axis = 0.8,
cex.names = 0.8,
ylim = c(0,45),
)
par(mar = c(6, 6, 4, 2))
barplot(
TablaRegionGrupo$hi,
main = "Gráfica No.3: Distribución porcentual de accidentes en
oleoductos por región en EE.UU.",
xlab = "Región",
ylab = "Porcentaje (%)",
names.arg = TablaRegionGrupo$Categoria,
col = "lightblue3",
cex.main = 1.2,
las = 1,
cex.lab = 1.2,
cex.axis = 0.8,
cex.names = 0.8,
)
par(mar = c(6, 6, 4, 2))
barplot(
TablaRegionGrupo$hi,
main = "Gráfica No.4: Distribución porcentual de accidentes en
oleoductos por región en relación al total en EE.UU.",
xlab = "Región",
ylab = "Porcentaje (%)",
names.arg = TablaRegionGrupo$Categoria,
col = "lightblue4",
cex.main = 1.2,
las = 1,
cex.lab = 1.2,
cex.axis = 1,
cex.names = 0.8,
ylim = c(0, 100)
)
par(mar = c(6, 6, 4, 2), xpd = TRUE)
colores_region <- colorRampPalette(c("lightblue1", "royalblue3"))(nrow(TablaRegionGrupo))
etiquetas_porcentaje <- paste0(TablaRegionGrupo$hi, "%")
pie(
TablaRegionGrupo$ni,
labels = etiquetas_porcentaje,
main = "Gráfica No.5:Distribución porcentual de accidentes en
oleoductos por región en EE.UU.",
col = colores_region,
cex.main = 1.2,
cex = 0.8
)
legend(
x = 1, y = -0.5,
legend = TablaRegionGrupo$Categoria,
title = "Leyenda",
fill = colores_region,
cex = 0.7,
y.intersp = 0.7,
bty = "o",
inset = 0.2
)
La región con más accidentes en Estados Unidos es: Sur
La variable EstadoAccidente es de tipo nominal. Para el
análisis, los estados fueron agrupados en cuatro regiones geográficas,
en donde los accidentes fluctúan desde el Noreste hasta el Sur,
concentrándose principalmente en esta última, con un 33.33% del total.
Por lo anterior, esto es perjudicial, ya que evidencia una alta
concentración de accidentes en ciertas zonas, siendo necesario priorizar
acciones preventivas en la región Sur.