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
TDFdistrito <- table(distrito)
Tabladistrito <- as.data.frame(TDFdistrito)
names(Tabladistrito) <- c("DISTRITO", "ni")
Frecuencia
relativa, porcentaje y fila total
hi <- Tabladistrito$ni / sum(Tabladistrito$ni)
hi_porc <- hi * 100
Tabladistrito$hi_porcentaje <- round(hi_porc, 2)
TDFdistritoFinal <- rbind(Tabladistrito, data.frame( DISTRITO = "TOTAL",
ni = sum(Tabladistrito$ni),
hi_porcentaje = 100))
Tabla Final
## DISTRITO ni hi_porcentaje
## 1 1 430 4.22
## 2 10 506 4.97
## 3 2 217 2.13
## 4 3 726 7.12
## 5 4 278 2.73
## 6 5 53 0.52
## 7 6 212 2.08
## 8 6E 122 1.20
## 9 7B 153 1.50
## 10 7C 960 9.42
## 11 8 5023 49.29
## 12 8A 1323 12.98
## 13 9 187 1.84
## 14 TOTAL 10190 100.00
Gráficos de Barras
GDF versión local
de Distribución de derrames en los distritos regulatorios
barplot(TDFdistrito,
main="Gráfica No.1:Distribución de Distritos regulatorios ",
xlab="Distrito",
ylab="Cantidad",
col = "cornsilk",
las = 1,
cex.main = 1.4,
cex.lab = 1,
cex.axis = 0.7,
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(TDFdistrito,
main = "Gráfica No.2:Distribución de Distritos regulatorios",
xlab = "Distrito",
ylab = "",
col = "cornsilk2",
las = 1,
ylim = c(0, sum(TDFdistritoFinal$ni)),
cex.names = 0.8)
mtext("Cantidad", side = 2, line = 4.5, cex = 1)

GDF: Porcentaje de
Distribución de distritos regulatorios
barplot(TDFdistritoFinal$hi_porcentaje[TDFdistritoFinal$DISTRITO != "TOTAL"],
main = "Gráfica No.3:Distribución de Distritos regulatorios",
xlab = "Distrito",
ylab = "Porcentaje",
col = "cornsilk3",
names.arg = TDFdistritoFinal$DISTRITO[TDFdistritoFinal$DISTRITO != "TOTAL"],
cex.main = 1.5,
las = 1,
cex.lab = 1,
cex.axis = 1,
cex.names = 1,
ylim = c(0, 100))

Diagrama circular
Agrupacion por
región
Tabladistrito$Region <- ifelse(Tabladistrito$DISTRITO %in% c("1", "2", "3", "6", "6E"), "Este",
ifelse(Tabladistrito$DISTRITO %in% c("7C", "8", "8A"), "Oeste",
ifelse(Tabladistrito$DISTRITO %in% c("5", "9"), "Norte",
ifelse(Tabladistrito$DISTRITO %in% c("4", "7B", "10"), "Sur", "Otro"))))
TablaRegiones <- aggregate(ni ~ Region, data = Tabladistrito, sum)
TablaRegiones$hi_porcentaje <- round(TablaRegiones$ni / sum(TablaRegiones$ni) * 100, 2)
Grafico
circular
colores <- colorRampPalette(c("cornsilk", "coral4"))(nrow(TablaRegiones))
etiquetas <- paste0(TablaRegiones$hi_porcentaje, "%")
pie(TablaRegiones$ni,
labels = etiquetas,
col = colores,
main = "Gráfica No.4: Distribución de Derrames por Región de Texas",
cex = 0.8)
legend(x = 1.4, y = -0.3,
legend = TablaRegiones$Region,
title = "Leyenda",
cex = 0.7,
y.intersp = 0.7,
fill = colores)

INDICADOR - Moda
moda_distrito <- names(TDFdistrito)[which.max(TDFdistrito)]
print(paste("MODA (Distrito):", moda_distrito))
## [1] "MODA (Distrito): 8"