1.Carga de datos

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 ...

1.1 Extracción de datos

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)

2.Distribución de Frecuencias

2.1 Distribución de frecuencias simples

TDFMes <- table(Mes)
TablaMes <- as.data.frame(TDFMes)
names(TablaMes) <- c("Mes","ni")

TablaMes$hi_porc <- round((TablaMes$ni / sum(TablaMes$ni)) * 100, 2)

2.2.1 Tabla final

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

3.Gráficas de distribución de frecuencia

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.


3.1 Diagramas de barras

3.1.1 Diagramas de frecuencias absolutas

3.1.1.1 Diagrama de frecuencia absoluta (Escala local):

par(mar = c(7, 6, 4, 2)) 
barplot(
  TablaMes$ni, 
  main = "Gráfica No.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
)
mtext("Mes", side = 1, line = 4.6, cex = 1.2)

3.1.1.2 Diagrama de frecuencia absoluta (Escala global):

par(mar = c(7, 6, 4, 2)) 
barplot(
  TablaMes$ni,
  main = "Gráfica No.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)

3.1.2 Diagramas de frecuencias relativas

3.1.2.1 Diagrama de frecuencia relativas (Escala local):

par(mar = c(7, 6, 4, 2)) 
barplot(
  TablaMes$hi,
  main = "Gráfica No.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,
)
mtext("Mes", side = 1, line = 4.6, cex = 1.2)

3.1.2.2 Diagrama de frecuencia relativas (Escala global):

par(mar = c(7, 6, 4, 2)) 
barplot(
  TablaMes$hi,
  main = "Gráfica No.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)

3.2 Diagrama circular

par(mar = c(6, 6, 4, 2), xpd = TRUE)
colores_mes <- colorRampPalette(c("darkseagreen1", "darkseagreen4"))(nrow(TablaMes))
etiquetas_porcentaje <- paste0(TablaMes$hi, "%")

pie(
  TablaMes$ni,
  labels = etiquetas_porcentaje,
  main = "Gráfica No.5:Distribución porcentual de accidentes en oleoductos por 
  región 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.7,
  bty = "o",
  inset = 0.2
)

4.Indicador

moda_mes <- TablaMes$Mes[which.max(TablaMes$ni)]

El mes con más accidentes en oleoductos en Estados Unidos es en: Enero

5.Conclusión

La variable Mes de los accidentes ocurridos en oleductos en EE.UU. es de tipo ordinal.Los resultados muestran que en el mes de Enero se concentra la mayor proporción de accidentes, con un 9.89% del total en comparación con los demás dentro del periodo analizado.