##### 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 ”