##### UNIVERSIDAD CENTRAL DEL ECUADOR #####
#### AUTOR: JULIO JARAMILLO ####
### CARRERA: INGENIERÍA EN PETRÓLEOS #####
#### VARIABLE-Pipeline Location ####
# ============================================
# 1. CARGAR DATOS
# ============================================
library(readr)
datasetf <- read_csv("datasetf.csv")
## Warning: One or more parsing issues, call `problems()` on your data frame for details,
## e.g.:
##   dat <- vroom(...)
##   problems(dat)
## Rows: 2795 Columns: 36
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (18): Accident Date/Time, Operator Name, Pipeline/Facility Name, Pipelin...
## dbl (18): Report Number, Supplemental Number, Accident Year, Operator ID, Ac...
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
# ============================================
# 2. TABLA DE FRECUENCIAS COMPLETA
# ============================================

# Crear tabla de frecuencias
tabla_frec <- as.data.frame(table(datasetf$`Pipeline Location`))
names(tabla_frec) <- c("Categoria", "ni")

# Calcular hi y hi_porcentual
tabla_frec$hi <- tabla_frec$ni / sum(tabla_frec$ni)
tabla_frec$hi_porcentual <- round(tabla_frec$hi * 100, 2)

# Agregar fila de TOTALES
tabla_completa <- rbind(tabla_frec,
                        data.frame(Categoria = "TOTAL",
                                   ni = sum(tabla_frec$ni),
                                   hi = 1.00,
                                   hi_porcentual = 100.00))

# Mostrar tabla
tabla_completa
##   Categoria   ni          hi hi_porcentual
## 1  OFFSHORE   18 0.006440072          0.64
## 2   ONSHORE 2777 0.993559928         99.36
## 3     TOTAL 2795 1.000000000        100.00
View(tabla_completa)

# ============================================
# 3. GRÁFICO 1: BARPLOT CON NI (local)
# ============================================
barplot(tabla_frec$ni,
        names.arg = tabla_frec$Categoria,
        main = "Gráfica N°1: Distribución de Pipeline Location",
        xlab = "Ubicación",
        ylab = "Cantidad",
        col = "steelblue",
        ylim = c(0, max(tabla_frec$ni) * 1.15),
        las = 1)  # Etiquetas verticales

# ============================================
# 3. GRÁFICO 2: BARPLOT CON NI (global)
# ============================================
barplot(tabla_frec$ni,
        names.arg = tabla_frec$Categoria,
        main = "Gráfica N°2: Distribución de Pipeline Location",
        xlab = "Ubicación",
        ylab = "Cantidad",
        col = "steelblue",
        ylim = c(0, max(tabla_frec$ni) * 1.5),
        las = 1)  # Etiquetas verticales

# ============================================
# 4. GRÁFICO 3: BARPLOT CON HI
# ============================================
barplot(tabla_frec$hi,
        names.arg = tabla_frec$Categoria,
        main = "Gráfica N°3: Distribución de Pipeline Location",
        xlab = "Ubicación",
        ylab = "Cantidad",
        col = "steelblue",
        ylim = c(0, max(tabla_frec$hi) * 1.15),
        las = 1)

# ============================================
# 5. GRÁFICO 4: BARPLOT CON HI_PORCENTUAL
# ============================================
barplot(tabla_frec$hi_porcentual,
        names.arg = tabla_frec$Categoria,
        main = "Gráfica N°4: Distribución Porcentual de Pipeline Location",
        xlab = "Ubicación",
        ylab = "Cantidad",
        col = "steelblue",
        ylim = c(0, max(tabla_frec$hi_porcentual) * 1.5),
        las = 1)

# ============================================
# 6. GRÁFICO 5: CIRCULAR CON HI_PORCENTUAL
# ============================================

# Crear etiquetas: Categoría + Porcentaje
etiquetas_pastel <- paste0(tabla_frec$Categoria, "\n",
                           tabla_frec$hi_porcentual, "%")

# Colores 
colores_pastel <- rainbow(nrow(tabla_frec))

# Gráfico de circular 
pie(tabla_frec$hi_porcentual,
    labels = etiquetas_pastel,
    main = "Gráfica N°5: Distribución Porcentual de Pipeline Location",
    col = colores_pastel,
    border = "white",
    cex = 0.8)

# Añadir leyenda (opcional)
legend("topright",
       legend = tabla_frec$Categoria,
       fill = colores_pastel,
       cex = 0.7,
       title = "Ubicaciones")

# ============================================
# 7. INDICADORA 
# ============================================
# Encontrar la moda 
tabla <- table(datasetf$`Pipeline Location`)
moda <- names(tabla)[which.max(tabla)]
cat("La moda es:", moda, "\n")
## La moda es: ONSHORE
cat("Aparece", max(tabla), "veces\n")
## Aparece 2777 veces
cat("Número total de muestras:", nrow(datasetf), "\n")
## Número total de muestras: 2795
cat("La variable Pipeline Location, de tipo nominal, presenta como valor más frecuente “ONSHORE ”")
## La variable Pipeline Location, de tipo nominal, presenta como valor más frecuente “ONSHORE ”