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                       : num  38.6 39.9 32.6 42.5 30.2 ...
##  $ LongitudAccidente                      : num  -93.4 -75.2 -103.1 -95.3 -91.2 ...
##  $ 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         : num  0.24 1700 2 0.36 1.31 ...
##  $ LiberacionIntencionalBarriles          : chr  "0" "0" "-" "0.05" ...
##  $ RecuperacionLiquidoBarriles            : num  0.07 1699 0.48 0 0 ...
##  $ PerdidaNetaBarriles                    : num  0.17 1 1.52 0.36 1.31 ...
##  $ 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

Costos <- datos$TodosCostos
Costos <- na.omit(Costos)  

2.Distribución de Frecuencias


2.1 Método teórico/manual: Regla de Sturges

2.1.1 Rango, número de clases y amplitud

R_Costos <- max(Costos) - min(Costos)
k_Costos <- floor(1 + (3.3 * log10(length(Costos))))
A_Costos <- R_Costos / k_Costos

2.1.2 Limites e intervalos

liminf <- seq(from = min(Costos), by = A_Costos, length.out = k_Costos)
limsup <- liminf + A_Costos
limsup[k_Costos] <- max(Costos) 
MC <- (liminf + limsup) / 2

2.1.3 Frecuencias Simples

2.1.3.1 Frecuencia absoluta

ni <- numeric(k_Costos)
for (i in 1:k_Costos) {
  if (i == k_Costos) {
    ni[i] <- sum(Costos >= liminf[i] & Costos <= limsup[i])
  } else {
    ni[i] <- sum(Costos >= liminf[i] & Costos < limsup[i])
  }
}

2.1.3.1 Frecuencia relativa

hi <- round((ni / length(Costos)) * 100, 3)

2.1.4 Frecuencias Acumuladas

Niasc <- cumsum(ni)
Nidsc <- rev(cumsum(rev(ni)))
Hiasc <- cumsum(hi)
Hidsc <- rev(cumsum(rev(hi)))

2.1.5 Tabla de distribución de frecuencias

tabla_Costos <- data.frame(
  liminf = round(liminf, 3),
  limsup = round(limsup, 3),
  MC = round(MC, 3),
  ni = ni,
  hi_porc = round(hi, 3),      
  Ni_asc = Niasc,
  Ni_dsc = Nidsc,
  Hiasc_porc = round(Hiasc, 3),
  Hidsc_porc = round(Hidsc, 3)
)

total_ni <- sum(tabla_Costos$ni)
total_hi <- 100

TDFCostosCompleto <- rbind(tabla_Costos, data.frame(
  liminf = "TOTAL",
  limsup = " ",
  MC = " ",
  ni = total_ni,
  hi_porc = total_hi,
  Ni_asc = " ",
  Ni_dsc = " ",
  Hiasc_porc = " ",
  Hidsc_porc = " "
))

library(gt)
tabla_Costos_gt <- TDFCostosCompleto %>%
  gt() %>%
  cols_label(
    liminf = md("**liminf**"),
    limsup = md("**limsup**"),
    MC = md("**MC**"),
    ni = md("**ni**"),
    hi_porc = md("**hi (%)**"),
    Ni_asc = md("**Ni ↑**"),
    Ni_dsc = md("**Ni ↓**"),
    Hiasc_porc = md("**Hi ↑ (%)**"),
    Hidsc_porc = md("**Hi ↓ (%)**")
  ) %>%
  tab_header(
    title = md("**Tabla N° 1**"),
    subtitle = md("**Distribución de frecuencias de Todos los Costos de
                  accidentes ocurridos 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.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 = liminf == "TOTAL"
    )
  )

tabla_Costos_gt
Tabla N° 1
Distribución de frecuencias de Todos los Costos de accidentes ocurridos en EE.UU (2010-2017)
liminf limsup MC ni hi (%) Ni ↑ Ni ↓ Hi ↑ (%) Hi ↓ (%)
0 70043843.167 35021921.583 2757 99.891 2757 2760 99.891 99.999
70043843.167 140087686.333 105065764.75 2 0.072 2759 3 99.963 0.108
140087686.333 210131529.5 175109607.917 0 0.000 2759 1 99.963 0.036
210131529.5 280175372.667 245153451.083 0 0.000 2759 1 99.963 0.036
280175372.667 350219215.833 315197294.25 0 0.000 2759 1 99.963 0.036
350219215.833 420263059 385241137.417 0 0.000 2759 1 99.963 0.036
420263059 490306902.167 455284980.583 0 0.000 2759 1 99.963 0.036
490306902.167 560350745.333 525328823.75 0 0.000 2759 1 99.963 0.036
560350745.333 630394588.5 595372666.917 0 0.000 2759 1 99.963 0.036
630394588.5 700438431.667 665416510.083 0 0.000 2759 1 99.963 0.036
700438431.667 770482274.833 735460353.25 0 0.000 2759 1 99.963 0.036
770482274.833 840526118 805504196.417 1 0.036 2760 1 99.999 0.036
TOTAL 2760 100.000
Autor: Grupo 1

2.2 Método práctico: Software R

2.2.1 Generacion de histograma

options(scipen = 999)
histoCostos <- hist(Costos, 
            main ="Distribución de frecuencias de Todos los Costos de
        accidentes en oleoductos ocurridos en EE.UU.", 
            xlab = "Todos los Costos", 
            ylab = "Frecuencia",
            col = "pink", 
            border = "black")

2.2.2 Limites e intervalos

Limites <- histoCostos$breaks
Limites
##  [1]         0  50000000 100000000 150000000 200000000 250000000 300000000
##  [8] 350000000 400000000 450000000 500000000 550000000 600000000 650000000
## [15] 700000000 750000000 800000000 850000000
LimInf <- histoCostos$breaks[-length(histoCostos$breaks)]
LimSup <- histoCostos$breaks[-1] 
MC <- (LimInf + LimSup)/2

2.2.3 Frecuencias Simples

ni <- histoCostos$counts
hi <- (ni/sum(ni)*100)

2.2.4 Frecuencias Acumuladas

Niasc <- cumsum(ni)                     
Nidsc <- rev(cumsum(rev(ni)))           
Hiasc <- round(cumsum(hi), 3)          
Hidsc <- round(rev(cumsum(rev(hi))), 3)

2.2.5 Tabla de distribución de frecuencias

TDFCostosR <- data.frame(LimInf, LimSup, MC, ni, hi = round(hi,3),
                           Niasc, Nidsc, Hiasc, Hidsc)


total_ni <- sum(ni)
total_hi <- 100  

TDFCostosRFinal <- rbind(TDFCostosR,
                        data.frame(LimInf="Total",
                                   LimSup=" ", 
                                   MC=" ",
                                   ni=total_ni, 
                                   hi=total_hi, 
                                   Niasc=" ", 
                                   Nidsc=" ", 
                                   Hiasc=" ", 
                                   Hidsc=" "))

tabla_CostosR_gt <- TDFCostosRFinal %>%
  gt() %>%
  cols_label(
    LimInf = md("**LimInf**"),
    LimSup = md("**LimSup**"),
    MC = md("**MC**"),
    ni = md("**ni**"),
    hi = md("**hi (%)**"),
    Niasc = md("**Ni ↑**"),
    Nidsc = md("**Ni ↓**"),
    Hiasc = md("**Hi ↑ (%)**"),
    Hidsc = md("**Hi ↓ (%)**")
  ) %>%
  tab_header(
    title = md("**Tabla N° 2**"),
    subtitle = md("**Distribución de frecuencias de Todos los Costos de
                  accidentes ocurridos 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.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 = LimInf == "Total"
    )
  )
tabla_CostosR_gt
Tabla N° 2
Distribución de frecuencias de Todos los Costos de accidentes ocurridos en EE.UU (2010-2017)
LimInf LimSup MC ni hi (%) Ni ↑ Ni ↓ Hi ↑ (%) Hi ↓ (%)
0 50000000 25000000 2756 99.855 2756 2760 99.855 100
50000000 100000000 75000000 2 0.072 2758 4 99.928 0.145
100000000 150000000 125000000 1 0.036 2759 2 99.964 0.072
150000000 200000000 175000000 0 0.000 2759 1 99.964 0.036
200000000 250000000 225000000 0 0.000 2759 1 99.964 0.036
250000000 300000000 275000000 0 0.000 2759 1 99.964 0.036
300000000 350000000 325000000 0 0.000 2759 1 99.964 0.036
350000000 400000000 375000000 0 0.000 2759 1 99.964 0.036
400000000 450000000 425000000 0 0.000 2759 1 99.964 0.036
450000000 500000000 475000000 0 0.000 2759 1 99.964 0.036
500000000 550000000 525000000 0 0.000 2759 1 99.964 0.036
550000000 600000000 575000000 0 0.000 2759 1 99.964 0.036
600000000 650000000 625000000 0 0.000 2759 1 99.964 0.036
650000000 700000000 675000000 0 0.000 2759 1 99.964 0.036
700000000 750000000 725000000 0 0.000 2759 1 99.964 0.036
750000000 800000000 775000000 0 0.000 2759 1 99.964 0.036
800000000 850000000 825000000 1 0.036 2760 1 100 0.036
Total 2760 100.000
Autor: Grupo 1

3.Gráficas de Distribución de Frecuencias


3.1 Histogramas

A continuación, las gráficas de histogramas 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.1 Histogramas frecuencias absolutas

- Histograma Frecuencia Absoluta (Escala Local)

options(scipen = 999)

hist(Costos, 
     main="Gráfica N°1: Distribución de frecuencias de todos los 
     costos de accidentes en oleoductos ocurridos en EE.UU.", 
     ylab="Cantidad",
     xlab="Todos los Costos", 
     las = 1, 
     col="mistyrose")

- Histograma Frecuencia Absoluta (Escala Global)

options(scipen = 999)
hist(Costos,
     main="Gráfica N°2: Distribución de frecuencias de todos los
     costos de accidentes en oleoductos ocurridos en EE.UU.", 
     ylab="Cantidad", 
     xlab="Todos los Costos", 
     col="mistyrose2",
     las = 1,
     ylim = c(0,length(Costos)))

3.1.2 Histogramas frecuencias relativas

- Histograma Frecuencia Relativa (Escala Local)

options(scipen = 999)
barplot(hi,space = 0,
        main = "Gráfica N°3: Distribución porcentual de todos los
        costos de accidentes en oleoductos ocurridos en EE.UU.",
        col="mistyrose3",
        xlab = "Todos los Costos", 
        ylab = "Porcentaje (%)", 
        las = 1,
        axis.lty = 1.5,
        cex.names = 0.9,
        names.arg =TDFCostosR$MC)

- Histograma Frecuencia Relativa (Escala Global)

options(scipen = 999)
barplot(hi,space = 0,
        main="Gráfica  N°4: Distribución porcentual de todos los
        costos de accidentes en oleoductos ocurridos en EE.UU.",
        col="mistyrose4",
        xlab = "Todos los Costos", 
        ylab = "Porcentaje (%)", 
        names.arg =TDFCostosR$MC,
        las = 1,
        cex.names = 0.9,
        axis.lty = 1.5,
        ylim = c(0,100))

3.2 Ojivas

3.2.1 Ojivas combinadas con la frecuencia absoluta

options(scipen = 999)
plot(TDFCostosR$MC, TDFCostosR$Nidsc,
     main = "Gráfica N°5: Ojivas combinadas de todos los costos 
       de accidentes en oleoductos ocurridos en EE.UU.(2010-2017)",
     type="b",
     col="skyblue", 
     pch=1,
     xlab="Todos los Costos", 
     ylab="Cantidad")

lines(TDFCostosR$MC, TDFCostosR$Niasc, type="b", col="pink4", pch=1)

legend("right",legend = c("Ojiva descendente", "Ojiva ascendente"),
       col = c("skyblue3", "pink4"), 
       pch = 1, lty = 1,cex = 0.7)

3.2.2 Ojivas combinadas con la frecuencia relativa

options(scipen = 999)
plot(TDFCostosR$MC,TDFCostosR$Hidsc,
      main = "Gráfica N°6: Ojivas combinadas de todos los costos 
       de accidentes en oleoductos ocurridos en EE.UU.(2010-2017)",
      xlab = "Todos los Costos", 
      ylab="Porcentaje (%)", 
      col="skyblue3",
      las = 1,
      type = "b")

lines(TDFCostosR$MC,TDFCostosR$Hiasc,col="pink4",type = "b")

legend("right",legend = c("Ojiva descendente", "Ojiva ascendente"),
       col = c("skyblue3", "pink4"), 
       pch = 1, lty = 1,cex = 0.7)

3.3 Diagrama de Caja y bigotes

options(scipen = 999)
boxplot(Costos, horizontal = TRUE, col = "pink3",
        main = "Gráfica No.7: Distribución de todos los costos de 
        accidentes en oleoductos ocurridos en EE.UU.",
        xlab = "Todos los Costos",
        xaxt = "n")
axis(1, at = pretty(Costos), labels = format(pretty(Costos), scientific = FALSE))

4.Indicadores estadísticos


4.1 Indicadores de posición

- Tendencia Central

mediana <- median(Costos)
media_aritmetica <- mean(Costos)
Mo <- "[0,70043843.167)"

- No Centrales

# Cuartiles
ri <- min(Costos)
rs <- max(Costos)
summary(Costos)
##      Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
##         0      5036     23000    787410    115333 840526118

4.2 Indicadores de dispersión

desviacion_estandar <- sd(Costos)
coeficiente_variabilidad <- (desviacion_estandar / media_aritmetica) * 100

4.3 Indicadores de forma

library(e1071) 
As <- skewness(Costos)
curtosis <- kurtosis(Costos)

4.4 Tabla de indicadores

library(gt)

Variable <- c("Costos")
Tabla_indicadores_Costos <- data.frame(
  Variable,
  ri = round(ri, 3),
  rs = round(rs, 3),
  media_aritmetica = round(media_aritmetica, 3),
  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_Costos) <- c("Variable","Mínimo",
                                        "Máximo","x",
                                        "Me","Mo",
                                        "S","Cv (%)",
                                        "As","K")

tabla_indicadores_gt <- Tabla_indicadores_Costos %>%
  gt() %>%
  tab_header(
    title = md("**Tabla N°3**"),
    subtitle = md("**Indicadores estadísticos de la variable Todos los Costos
                   de accidentes ocurridos 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"
  )
tabla_indicadores_gt
Tabla N°3
Indicadores estadísticos de la variable Todos los Costos de accidentes ocurridos en EE.UU (2010-2017)
Variable Mínimo Máximo x Me Mo S Cv (%) As K
Costos 0 840526118 787409.9 23000 [0,70043843.167) 16462015 2090.654 48.394 2452.284
Autor: Grupo 1

5.Valores atípicos


5.1 Identificación de valores atípicos

outliers <- boxplot.stats(Costos)$out 

num_outliers <- length(outliers) 

minimooutliers <- min(outliers) 
maximooutliers <- max(outliers) 

5.2 Tabla de Valores atípicos

Tabla_outliers_Costos <- data.frame(
  Outliers = num_outliers,
  Mínimo = minimooutliers,
  Máximo = maximooutliers
)

library(gt)
Tabla_outliers_Costos %>%
  gt() %>%
  tab_header(
    title = md("**Tabla N°4**"),
    subtitle = md("**Valores atípicos de la variable Todos los Costos
                  de accidentes ocurridos en EE.UU (2010-2017)**")
  ) %>%
  tab_options(
    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 = "grey",
    table_body.border.bottom.color = "black"
  )
Tabla N°4
Valores atípicos de la variable Todos los Costos de accidentes ocurridos en EE.UU (2010-2017)
Outliers Mínimo Máximo
411 281200 840526118

6.Conclusión

La variable todos los costos de accidentes en oleoductos en EE.UU. durante el periodo 2010-2017 fluctúa entre 0 y 84,052,611.8 dólares, con una media de 787,409.9 dólares y una mediana de 23,000 dólares, lo que refleja una fuerte asimetría en la distribución. La desviación estándar es muy alta (16,462,015), al igual que el coeficiente de variación (2090.65%), lo que evidencia un conjunto de datos altamente heterogéneo y con gran dispersión. La asimetría positiva (48.394) y la curtosis extremadamente elevada (2452.284) indican que la mayoría de los accidentes generan costos bajos o moderados, pero existen algunos casos excepcionales con costos extraordinariamente altos que elevan la media y generan colas largas hacia la derecha. De hecho, se identificaron 411 valores atípicos, con montos entre 281,200 y 84,052,611.8 dólares, que representan accidentes de gran magnitud y con fuertes impactos económicos. Por lo tanto, el comportamiento de la variable muestra que, aunque la mayoría de accidentes tienen costos relativamente bajos, los eventos extremos son financieramente muy significativos y deben considerarse prioritarios en el análisis de riesgos y en la planificación de políticas de prevención y mitigación.