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 ...
AnioAccidente <- datos$AnioAccidente
AnioAccidente <- na.omit(AnioAccidente)
TDFAnioAccidente <- table(AnioAccidente)
TablaAnioAccidente <- as.data.frame(TDFAnioAccidente)
names(TablaAnioAccidente) <- c("Anio","ni")
TablaAnioAccidente$hi_porc <- round((TablaAnioAccidente$ni / sum(TablaAnioAccidente$ni)) * 100, 2)
TablaAnioAccidente$Ni_asc <- cumsum(TablaAnioAccidente$ni)
TablaAnioAccidente$Ni_dsc <- rev(cumsum(rev(TablaAnioAccidente$ni)))
TablaAnioAccidente$Hi_asc <- round(cumsum(TablaAnioAccidente$hi_porc), 3)
TablaAnioAccidente$Hi_dsc <- round(rev(cumsum(rev(TablaAnioAccidente$hi_porc))), 3)
TDFFinalAnioAccidente<- rbind(TablaAnioAccidente, data.frame(
Anio = "TOTAL",
ni = sum(TablaAnioAccidente$ni),
hi_porc = 100,
Ni_asc = " ",
Ni_dsc = " ",
Hi_asc = " ",
Hi_dsc = " "
))
library(gt)
tabla_AnioAccidente <- TDFFinalAnioAccidente %>%
gt() %>%
cols_label(
Anio = md("**Año**"),
ni = md("**ni**"),
hi_porc = md("**hi (%)**"),
Ni_asc = md("**Ni ↑**"),
Ni_dsc = md("**Ni ↓**"),
Hi_asc = md("**Hi ↑ (%)**"),
Hi_dsc = md("**Hi ↓ (%)**")
) %>%
tab_header(
title = md("**Tabla N°1**"),
subtitle = md("**Distribución de accidentes en oleoductos por año 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(Anio) == "TOTAL"
)
)
tabla_AnioAccidente
| Tabla N°1 | ||||||
| Distribución de accidentes en oleoductos por año en EE.UU. (2010-2017) | ||||||
| Año | ni | hi (%) | Ni ↑ | Ni ↓ | Hi ↑ (%) | Hi ↓ (%) |
|---|---|---|---|---|---|---|
| 2010 | 346 | 12.54 | 346 | 2760 | 12.54 | 100 |
| 2011 | 336 | 12.17 | 682 | 2414 | 24.71 | 87.46 |
| 2012 | 362 | 13.12 | 1044 | 2078 | 37.83 | 75.29 |
| 2013 | 400 | 14.49 | 1444 | 1716 | 52.32 | 62.17 |
| 2014 | 447 | 16.20 | 1891 | 1316 | 68.52 | 47.68 |
| 2015 | 453 | 16.41 | 2344 | 869 | 84.93 | 31.48 |
| 2016 | 414 | 15.00 | 2758 | 416 | 99.93 | 15.07 |
| 2017 | 2 | 0.07 | 2760 | 2 | 100 | 0.07 |
| TOTAL | 2760 | 100.00 | ||||
| Autor: Grupo 1 | ||||||
A continuación, las gráficas de diagramas de barras 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(
TablaAnioAccidente$ni,
main = "Gráfica N°1: Distribución de la cantidad de accidentes
por año en EE.UU.",
xlab = "Año",
ylab = "Cantidad",
col = "tan1",
names.arg = TablaAnioAccidente$Anio,
las = 1,
cex.main = 1.2,
cex.lab = 1.2,
cex.axis = 0.8,
cex.names = 0.8,
ylim = c(0, 500)
)
par(mar = c(6, 6, 4, 2))
barplot(
TablaAnioAccidente$ni,
main = "Gráfica N°2: Distribución de la cantidad de accidentes
por año, en relación al total en EE.UU.",
xlab = "Año",
ylab = "Cantidad",
names.arg = TablaAnioAccidente$Anio,
col = "tan2",
cex.main = 1.2,
las = 1,
cex.lab = 1.2,
cex.axis = 0.8,
cex.names = 0.8,
ylim = c(0,2760),
)
par(mar = c(6, 6, 4, 2))
barplot(
TablaAnioAccidente$hi,
main = "Gráfica N°3: Distribución porcentual de accidentes
por año en EE.UU.",
xlab = "Año",
ylab = "Porcentaje (%)",
names.arg = TablaAnioAccidente$Anio,
col = "tan3",
cex.main = 1.2,
las = 1,
cex.lab = 1.2,
cex.axis = 1,
cex.names = 0.8,
ylim = c(0, 20)
)
par(mar = c(6, 6, 4, 2))
barplot(
TablaAnioAccidente$hi,
main = "Gráfica N°4: Distribución porcentual de accidentes
por año, en relación al total en EE.UU.",
xlab = "Año",
ylab = "Porcentaje (%)",
names.arg = TablaAnioAccidente$Anio,
col = "tan4",
cex.main = 1.2,
las = 1,
cex.lab = 1.2,
cex.axis = 1,
cex.names = 0.8,
ylim = c(0, 100)
)
x <- 1:nrow(TablaAnioAccidente)
# Ojiva descendente (%)
plot(x, y = TablaAnioAccidente$Ni_dsc ,
main = "Gráfica N°5: Ojivas combinadas de la distribución de la cantidad
de años de ocurrencia de accidentes en oleoductos de EE.UU.",
type = "b", col = "sienna4",
xlab = "Año",
ylab = "Porcentaje (%)",
las = 1,
cex.axis = 0.8,
xaxt="n")
axis(side=1, at=x, labels=TablaAnioAccidente$Anio, las=1,cex.axis = 0.8)
# Ojiva ascendente (%)
lines(x, TablaAnioAccidente$Ni_asc,
type = "b",
col = "tan1")
legend("right", legend = c("Ojiva descendente","Ojiva ascendente"),
cex = 0.7,
col = c("sienna4","tan1"),
pch = 1, lty = 1)
x <- 1:nrow(TablaAnioAccidente)
# Ojiva descendente (%)
plot(x, y = TablaAnioAccidente$Hi_dsc,
main = "Gráfica N°6: Ojivas combinadas de la distribución porcentual
de los años de ocurrencia de accidentes en oleoductos de EE.UU.",
type = "b", col = "darkorange4",
xlab = "Año",
ylab = "Porcentaje (%)",
las = 1,
cex.axis = 0.8,
xaxt="n")
axis(side=1, at=x, labels=TablaAnioAccidente$Anio, las=1,cex.axis = 0.8)
# Ojiva ascendente (%)
lines(x, TablaAnioAccidente$Hi_asc,
type = "b",
col = "darkorange2")
legend("right", legend = c("Ojiva descendente","Ojiva ascendente"),
cex = 0.7,
col = c("darkorange4","darkorange2"),
pch = 1, lty = 1)
boxplot(AnioAccidente , horizontal = TRUE, col = "tan1",
main = "Gráfica N°7: Distribución de todos los años de
accidentes de oleoductos ocurridos en EE.UU.",
xlab = "Años Accidentes",
xaxt = "n")
axis(1, at = pretty(AnioAccidente), labels = format(pretty(AnioAccidente), scientific = FALSE))
# Media
media <- mean(AnioAccidente)
# Mediana
mediana <- median(AnioAccidente)
# Moda
Mo <- "2015"
# Cuartiles
ri <- min(AnioAccidente)
rs <- max(AnioAccidente)
summary(AnioAccidente)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 2010 2012 2013 2013 2015 2017
desviacion_estandar <- sd(AnioAccidente)
coeficiente_variabilidad <- (desviacion_estandar / media) * 100
library(e1071)
As <- skewness(AnioAccidente)
curtosis <- kurtosis(AnioAccidente)
library(gt)
Variable <- c("Año accidente")
Tabla_indicadores_AnioAccidente <- data.frame(
Variable,
ri = round(ri, 3),
rs = round(rs, 3),
media = round(media, 0),
mediana = round(mediana, 3),
Mo,
S = round(desviacion_estandar, 3),
`Cv (%)` = round(coeficiente_variabilidad, 3),
As = round(As, 3),
K = round(curtosis, 3)
)
colnames(Tabla_indicadores_AnioAccidente) <- c("Variable","Mínimo",
"Máximo","x",
"Me","Mo",
"S","Cv (%)",
"As","K")
tabla_indicadores_gt <- Tabla_indicadores_AnioAccidente %>%
gt() %>%
tab_header(
title = md("**Tabla N°2**"),
subtitle = md("**Indicadores estadísticos de la variable Año del Accidente en oleoductos de EE.UU. (2010–2017)**")
) %>%
tab_source_note(
source_note = md("Autor: Grupo 1")
) %>%
cols_align(
align = "center",
columns = everything()
) %>%
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"
)
tabla_indicadores_gt
| Tabla N°2 | |||||||||
| Indicadores estadísticos de la variable Año del Accidente en oleoductos de EE.UU. (2010–2017) | |||||||||
| Variable | Mínimo | Máximo | x | Me | Mo | S | Cv (%) | As | K |
|---|---|---|---|---|---|---|---|---|---|
| Año accidente | 2010 | 2017 | 2013 | 2013 | 2015 | 1.973 | 0.098 | -0.153 | -1.191 |
| Autor: Grupo 1 | |||||||||
La variable AnioAccidente fluctúa entre los años de 2010 a 2017 y sus valores giran en torno al año de 2013, con una desviación estándar de 1.97, siendo un conjunto de valores homogéneo, los cuales se acumulan débilmente en la parte media alta de la variable, sin la existencia de valores atípicos.
Por todo lo anterior, el comportamiento es ligeramente beneficioso, ya que los accidentes se mantienen relativamente estables a lo largo del período y no se observa una tendencia clara de aumentos significativos.