Carga de datos
setwd("/cloud/project/")
datos<-read.csv("DATOS.csv", header = TRUE, sep=";" , dec=".")
str(datos)
## 'data.frame': 10190 obs. of 17 variables:
## $ Distrito_edit : chr "1" "1" "1" "1" ...
## $ Year_edit_Fecha_del_derrame : int 2013 2013 2013 2013 2013 2013 2013 2013 2013 2013 ...
## $ Mes_edit_Fecha_del_derrame : int 6 3 4 4 6 6 3 9 10 6 ...
## $ Categoria_Instalaciones : chr "Instalacion fija" "Pozos" "Pozos" "Pozos" ...
## $ Operacion_general : chr "Produccion" "Otro" "Produccion" "Produccion" ...
## $ Categoria_Fuente : chr NA "Tanques/Almacenamiento" "Lineas/Tuberias" "Infraestructura Fija" ...
## $ Grupo_causas_probable : chr NA "Afectaciones externas" "Factores humanos" "Problemas tecnicos" ...
## $ Liberacion_petroleo_crudo_edicion : num 0 0 0 0 0 ...
## $ Edicion_recuperacion_petroleo_crudo : num NA 0 0 0 0 0 0 0 0 NA ...
## $ Volumen_liberado_Cond_Final : num 0 0 0 10 0 0 0 1 0 0 ...
## $ Liberacion_agua_de_produccion_edicion: num 6720 3780 5040 420 10920 ...
## $ Liberacion_volumen_gas : num 0 0 0 0 0 0 0 0 0 0 ...
## $ Volumen_condensado_recuperado : num NA 0 0 1 0 0 0 0 0 NA ...
## $ Edicion_Recuperacion_agua_producida : num NA 420 4620 0 10920 ...
## $ Derrame_sobre_agua_limpio : chr "NO" "NO" "NO" "NO" ...
## $ Estado_general : chr "Observaciones tecnicas" NA NA NA ...
## $ Codigo_area : int 1 1 1 1 1 1 1 1 1 3 ...
Creacion de Tabla de
Frecuencias
TDFTipo_instalaciones <- table(Instalaciones)
Tablainstalaciones <- as.data.frame(TDFTipo_instalaciones)
names(Tablainstalaciones) <- c("Categoria", "ni")
Frecuencia
relativa, porcentaje y fila total
hi <- Tablainstalaciones$ni / sum(Tablainstalaciones$ni)
hi_porc <- hi * 100
Tablainstalaciones$hi_porcentaje <- round(hi_porc, 2)
TDFinstalacionesFinal <- rbind(Tablainstalaciones, data.frame(
Categoria = "TOTAL",
ni = sum(Tablainstalaciones$ni),
hi_porcentaje = 100
))
Tabla Final
print(TDFinstalacionesFinal)
## Categoria ni hi_porcentaje
## 1 Areas Operativas 14 0.14
## 2 Infraestructura Lineal 30 0.30
## 3 Instalacion fija 454 4.48
## 4 Pozos 9646 95.09
## 5 TOTAL 10144 100.00
Gráficos de Barras
GDF versión local
de Distribución de tipos de instalación
par(mar = c(6, 6, 4, 2))
Nuevonombre_Tipoinstalacion <- gsub(" ", "\n", Tablainstalaciones$Categoria)
barplot(
TDFTipo_instalaciones,
main = "Gráfica No.1: Distribución de Tipos de Instalaciones",
xlab = "Tipo de Instalación",
ylab = "Cantidad",
names.arg = Nuevonombre_Tipoinstalacion,
col = "cadetblue1",
las = 1,
cex.main = 1.4,
cex.lab = 1.2,
cex.axis = 0.8,
cex.names = 0.7)

GDF versión global
de distribución de derrames en los distritos regulatorios
par(mar = c(6, 6, 4, 2))
barplot(
TDFTipo_instalaciones,
main = "Gráfica No.2: Distribución de Tipos de Instalaciones",
xlab = "Tipo de Instalación",
ylab = "",
names.arg = Nuevonombre_Tipoinstalacion,
col = "cadetblue2",
las = 1,
ylim = c(0, sum(TDFinstalacionesFinal$ni)),
cex.names = 0.7
)
mtext("Cantidad", side = 2, line = 4.5, cex = 1)

GDF: Porcentaje de
Distribución de Tipos de Instalaciones
name_filter <- TDFinstalacionesFinal$Categoria[TDFinstalacionesFinal$Categoria != "TOTAL"]
Nuevonombre_Tipoinstalaciones <- gsub(" ", "\n",name_filter)
par(mar = c(6, 6, 4, 2))
barplot(
TDFinstalacionesFinal$hi_porcentaje[TDFinstalacionesFinal$Categoria != "TOTAL"],
main = "Gráfica No.3: Distribución de Tipos de Instalaciones",
xlab = "Tipo de Instalación",
ylab = "Porcentaje",
col = "cadetblue3",
names.arg = Nuevonombre_Tipoinstalaciones,
cex.main = 1.5,
las = 1,
cex.lab = 1.2,
cex.axis = 1,
cex.names = 0.7,
ylim = c(0, 100))

Diagrama circular
colores_instalacion <- colorRampPalette(c("#E0F0F2", "#5F9EA0"))(nrow(Tablainstalaciones))
etiquetas_porcentaje <- paste0(Tablainstalaciones$hi_porcentaje, "%")
par(mar = c(0, 0, 4, 4), xpd = TRUE)
pie(
Tablainstalaciones$ni,
labels = etiquetas_porcentaje,
main = "Gráfica No.4: Distribución de Tipos de Instalaciones",
col = colores_instalacion,
cex = 0.9)
legend(
x = 1.1, y = -0.4,
legend = Tablainstalaciones$Categoria,
title = "Leyenda",
fill = colores_instalacion,
y.intersp = 0.7,
cex = 0.8,
bty = "o")

INDICADOR - Moda
moda_instalaciones <- names(TDFTipo_instalaciones)[which.max(TDFTipo_instalaciones)]
print(paste("MODA (Instalacion):", moda_instalaciones))
## [1] "MODA (Instalacion): Pozos"