#UNIVRSIDAD CENTRAL DEL ECUADOR
#Tema:Estadística Inferencial-Variables Nominales
#AUTOR:Grupo 6
#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 ...
#VARIABLE NOMINAL 1:DISTRITO----------------------------------------------------
# Extraer la variable
Distrito <- datos$Distrito_edit
TDFDistrito <- table(Distrito)
# Tabla de distribución de frecuencias
Tabla <- as.data.frame(TDFDistrito) # Frecuencia Absoluta
colnames(Tabla)[colnames(Tabla) == "Freq"] <- "ni"
fo_norm <- Tabla$ni / sum(Tabla$ni) # Frecuencia Relativa
fo <- fo_norm * 100
sum(fo)
## [1] 100
Tabla <- data.frame(Tabla, fo)
total_ni <- sum(Tabla$ni) # Agregar fila de totales
total_fo <- sum(Tabla$fo)
fila_total <- data.frame(Distrito = "Total", ni = total_ni, fo = total_fo)
Tabla <- rbind(Tabla, fila_total)
Tabla
## Distrito ni fo
## 1 1 430 4.2198234
## 2 10 506 4.9656526
## 3 2 217 2.1295388
## 4 3 726 7.1246320
## 5 4 278 2.7281649
## 6 5 53 0.5201178
## 7 6 212 2.0804711
## 8 6E 122 1.1972522
## 9 7B 153 1.5014720
## 10 7C 960 9.4210010
## 11 8 5023 49.2934249
## 12 8A 1323 12.9833170
## 13 9 187 1.8351325
## 14 Total 10190 100.0000000
## Gráficas
# Ajustar márgenes
par(mar = c(8, 4, 3, 2))
# Frecuencia Absoluta
barplot(TDFDistrito,
main = "Gráfica No.1: Distribución de cada Distrito",
xlab = "",
ylab = "Cantidad",
col = "darkviolet",
las = 3,
cex.names = 0.8,
cex.axis = 0.9,
cex.main = 1.2,
ylim = c(0, max(TDFDistrito) * 1.2),
border = "black")
mtext("Distrito", side = 1, line = 5, cex = 1.1)
abline(h = pretty(range(TDFDistrito), n = 5), col = "gray85", lty = "dotted")

# Frecuencia Relativa
porcentajes <- TDFDistrito / sum(TDFDistrito) * 100 # Aquí se cambió TDFdistrito por TDFDistrito
par(mar = c(8, 4, 3, 2))
barplot(porcentajes,
main = "Gráfica No.2: Distribución porcentual de cada Distrito",
xlab = "",
ylab = "Porcentaje",
col = "darkmagenta",
las = 3,
cex.names = 0.8,
cex.axis = 0.9,
cex.main = 1.2,
ylim = c(0, max(porcentajes) * 1.2),
border = "black")
mtext("Distritos", side = 1, line = 5, cex = 1.1)
abline(h = pretty(range(porcentajes), n = 5), col = "gray85", lty = "dotted")

P_Distrito_edit <- Tabla$ni / sum(Tabla$ni)
# Eliminar la fila "Total" si está presente
P_Distrito_edit <- P_Distrito_edit[Tabla$Distrito != "Total"]
nombres_Distrito <- Tabla$Distrito[Tabla$Distrito != "Total"]
# Gráfico de barras: Distribución de probabilidad de cada Distrito
barplot(P_Distrito_edit,
main = "Gráfica Nº3: Distribución de Probabilidad de cada Distrito",
xlab = "Distrito", ylab = "Probabilidad",
col = "steelblue",
names.arg = nombres_Distrito,
las = 3,
cex.names = 0.8)

# ¿Cuál es la probabilidad de que ocurra un derrame en el distrito 6E?
nombre_distrito <- "6E"
probabilidad_6E <- round(
(Tabla$ni[Tabla$Distrito == nombre_distrito] / sum(Tabla$ni[Tabla$Distrito != "Total"])) * 100,
1
)
print(paste("La probabilidad es de:", probabilidad_6E, "%"))
## [1] "La probabilidad es de: 1.2 %"
#VARIABLE NOMINAL 2:CATEGORIA DE LAS INSTALACIONES -----------------------------
#Extraer la variable
Categoria_Instalaciones <- datos$Categoria_Instalaciones
TDFCategoria_Instalaciones <- table(Categoria_Instalaciones)
# Tabla de distribución de frecuencias
Tabla <- as.data.frame(TDFCategoria_Instalaciones) # Frecuencia Absoluta
colnames(Tabla)[colnames(Tabla) == "Freq"] <- "ni"
fo_norm <- Tabla$ni / sum(Tabla$ni) # Frecuencia Relativa
fo <- fo_norm * 100
sum(fo)
## [1] 100
Tabla <- data.frame(Tabla, fo)
total_ni <- sum(Tabla$ni) # Agregar fila de totales
total_fo <- sum(Tabla$fo)
fila_total <- data.frame(Categoria_Instalaciones = "Total", ni = total_ni, fo = total_fo)
Tabla <- rbind(Tabla, fila_total)
Tabla
## Categoria_Instalaciones ni fo
## 1 Areas Operativas 14 0.1380126
## 2 Infraestructura Lineal 30 0.2957413
## 3 Instalacion fija 454 4.4755521
## 4 Pozos 9646 95.0906940
## 5 Total 10144 100.0000000
## Gráficas
# Ajustar márgenes
par(mar = c(8, 4, 3, 2))
# Frecuencia Absoluta
barplot(TDFCategoria_Instalaciones,
main = "Gráfica No.1:
Distribución de la categoría de cada Instalación",
xlab = "",
ylab = "Cantidad",
col = "cadetblue4",
las = 3,
cex.names = 0.8,
cex.axis = 0.9,
cex.main = 1.2,
ylim = c(0, max(TDFCategoria_Instalaciones) * 1.2),
border = "black")
mtext("Categoría de Instalaciones", side = 1, line = 5, cex = 1.1)
abline(h = pretty(range(TDFCategoria_Instalaciones), n = 5), col = "gray85", lty = "dotted")

# Frecuencia Relativa
porcentajes <- TDFCategoria_Instalaciones / sum(TDFCategoria_Instalaciones) * 100
par(mar = c(8, 4, 3, 2))
barplot(porcentajes,
main = "Gráfica No.2:
Distribución porcentual de la categoría de cada Instalación",
xlab = "",
ylab = "Porcentaje",
col = "darkseagreen",
las = 3,
cex.names = 0.5,
cex.axis = 0.9,
cex.main = 1.2,
ylim = c(0, max(porcentajes) * 1.2),
border = "black")
mtext("Categorías de Instalaciones", side = 1, line = 5, cex = 1.1)
abline(h = pretty(range(porcentajes), n = 5), col = "gray85", lty = "dotted")

P_Categoria_Instalaciones <- Tabla$ni / sum(Tabla$ni)
# Eliminar la fila "Total" si está presente
Tabla <- Tabla[Tabla$Categoria_Instalaciones != "Total", ]
# Eliminar valores nulos en los datos (en ambas columnas: 'ni' y 'Categoria_Instalaciones')
Tabla <- Tabla[!is.na(Tabla$ni) & !is.na(Tabla$Categoria_Instalaciones), ]
P_Categoria_Instalaciones <- Tabla$ni / sum(Tabla$ni)
nombres_Categoria_Instalaciones <- Tabla$Categoria_Instalaciones
# Verificar si los datos son válidos
if (length(P_Categoria_Instalaciones) > 0) {
# Gráfico de barras: Distribución de probabilidad de cada Categoría de Instalaciones
barplot(P_Categoria_Instalaciones,
main = "Gráfica Nº3:
Distribución de Probabilidad de cada Categoría de Instalaciones",
xlab = "Categoría de Instalaciones",
ylab = "Probabilidad",
col = "steelblue",
names.arg = nombres_Categoria_Instalaciones,
las = 3,
cex.names = 0.5,
ylim = c(0, 1)) # El rango en el eje y debe ser de 0 a 1 para probabilidades
} else {
print("Los datos no son válidos para crear el gráfico. Revisa los valores de la variable.")
}

# ¿Cuál es la probabilidad de que ocurra un derrame en algún pozo ?
nombre_categoria <- "Pozos" #
probabilidad_Pozos <- round(
(Tabla$ni[Tabla$Categoria_Instalaciones == nombre_categoria] / sum(Tabla$ni[Tabla$Categoria_Instalaciones != "Total"])) * 100,
1
)
print(paste("La probabilidad es de:", probabilidad_Pozos, "%"))
## [1] "La probabilidad es de: 95.1 %"
# VARIABLE NOMINAL 3:TIPO DE OPERACIÓN ----------------------------------------------------
# Carga de datos
Operacion_general <- datos$Operacion_general
TDFOperacion_general <- table(Operacion_general)
# Tabla de distribución de frecuencias
Tabla <- as.data.frame(TDFOperacion_general) # Frecuencia Absoluta
colnames(Tabla)[colnames(Tabla) == "Freq"] <- "ni"
fo_norm <- Tabla$ni / sum(Tabla$ni) # Frecuencia Relativa
fo <- fo_norm * 100
sum(fo)
## [1] 100
Tabla <- data.frame(Tabla, fo)
total_ni <- sum(Tabla$ni) # Agregar fila de totales
total_fo <- sum(Tabla$fo)
fila_total <- data.frame(Operacion_general = "Total", ni = total_ni, fo = total_fo)
Tabla <- rbind(Tabla, fila_total)
Tabla
## Operacion_general ni fo
## 1 Inyeccion/Disposicion 2474 24.3839937
## 2 Otro 107 1.0546028
## 3 Perforacion 2 0.0197122
## 4 Plantas 22 0.2168342
## 5 Produccion 7271 71.6637098
## 6 Transporte/Recoleccion 266 2.6217228
## 7 Tratamiento agua 4 0.0394244
## 8 Total 10146 100.0000000
## Gráficas
# Ajustar márgenes
par(mar = c(8, 4, 3, 2))
# Frecuencia Absoluta
barplot(TDFOperacion_general,
main = "Gráfica No.1:
Distribución de Operaciones Generales",
xlab = "",
ylab = "Cantidad",
col = "deeppink",
las = 3,
cex.names = 0.5,
cex.axis = 0.9,
cex.main = 1.2,
ylim = c(0, max(TDFOperacion_general) * 1.2),
border = "black")
mtext("Operación General", side = 1, line = 5, cex = 1.1)
abline(h = pretty(range(TDFOperacion_general), n = 5), col = "gray85", lty = "dotted")

# Frecuencia Relativa
porcentajes <- TDFOperacion_general / sum(TDFOperacion_general) * 100
par(mar = c(8, 4, 3, 2))
barplot(porcentajes,
main = "Gráfica No.2:
Distribución porcentual de Operaciones Generales",
xlab = "",
ylab = "Porcentaje",
col = "deeppink2",
las = 3,
cex.names = 0.5,
cex.axis = 0.9,
cex.main = 1.2,
ylim = c(0, max(porcentajes) * 1.2),
border = "black")
mtext("Operaciones Generales", side = 1, line = 5, cex = 1.1)
abline(h = pretty(range(porcentajes), n = 5), col = "gray85", lty = "dotted")

P_Operacion_general <- Tabla$ni / sum(Tabla$ni)
# Eliminar la fila "Total" si está presente en los datos
Tabla <- Tabla[Tabla$Operacion_general != "Total", ]
# Eliminar valores nulos en los datos (en ambas columnas: 'ni' y 'Operacion_general')
Tabla <- Tabla[!is.na(Tabla$ni) & !is.na(Tabla$Operacion_general), ]
# Asegurarse de que las probabilidades sean válidas después del filtrado
P_Operacion_general <- Tabla$ni / sum(Tabla$ni)
nombres_Operacion_general <- Tabla$Operacion_general
# Gráfico de barras: Distribución de probabilidad de cada Operación General
barplot(P_Operacion_general,
main = "Gráfica Nº3:
Distribución de Probabilidad de cada Operación General",
xlab = "Operación General",
ylab = "Probabilidad",
col = "deeppink3",
names.arg = nombres_Operacion_general,
las = 3,
cex.names = 0.5,
ylim = c(0, 1)) # El rango en el eje y debe ser de 0 a 1 para probabilidades

# ¿Cuál es la probabilidad de que ocurra un derrame de operación en alguna planta?
nombre_operacion <- "Plantas"
probabilidad_Plantas <- round(
(Tabla$ni[Tabla$Operacion_general == nombre_operacion] / sum(Tabla$ni[Tabla$Operacion_general != "Total"])) * 100,
1
)
print(paste("La probabilidad es de:", probabilidad_Plantas, "%"))
## [1] "La probabilidad es de: 0.2 %"
# VARIABLE NOMINAL 4: CATEGORIA DE FUENTE ----------------------------------------------------
# Carga de datos
Categoria_Fuente <- datos$Categoria_Fuente
TDFCategoria_Fuente <- table(Categoria_Fuente)
# Tabla de distribución de frecuencias
Tabla <- as.data.frame(TDFCategoria_Fuente) # Frecuencia Absoluta
colnames(Tabla)[colnames(Tabla) == "Freq"] <- "ni"
fo_norm <- Tabla$ni / sum(Tabla$ni) # Frecuencia Relativa
fo <- fo_norm * 100
sum(fo)
## [1] 100
Tabla <- data.frame(Tabla, fo)
total_ni <- sum(Tabla$ni) # Agregar fila de totales
total_fo <- sum(Tabla$fo)
fila_total <- data.frame(Categoria_Fuente = "Total", ni = total_ni, fo = total_fo)
Tabla <- rbind(Tabla, fila_total)
Tabla
## Categoria_Fuente ni fo
## 1 Areas Operativas 1 0.00986096
## 2 Equipos inyeccion 280 2.76106893
## 3 Infraestructura Fija 273 2.69204220
## 4 Infraestructura Lineal 55 0.54235283
## 5 Lineas/Tuberias 3229 31.84104132
## 6 Otro 261 2.57371068
## 7 Pozos 1175 11.58662854
## 8 Tanques/Almacenamiento 4826 47.58899517
## 9 Vehiculo 41 0.40429938
## 10 Total 10141 100.00000000
## Gráficas
# Ajustar márgenes
par(mar = c(8, 4, 3, 2))
# Frecuencia Absoluta
barplot(TDFCategoria_Fuente,
main = "Gráfica No.1:
Distribución de Categoría de cada Fuente",
xlab = "",
ylab = "Cantidad",
col = "darkviolet",
las = 3,
cex.names = 0.5,
cex.axis = 0.9,
cex.main = 1.2,
ylim = c(0, max(TDFCategoria_Fuente) * 1.2),
border = "black")
mtext("Categoría de Fuente", side = 1, line = 5, cex = 1.1)
abline(h = pretty(range(TDFCategoria_Fuente), n = 5), col = "gray85", lty = "dotted")

# Frecuencia Relativa
porcentajes <- TDFCategoria_Fuente / sum(TDFCategoria_Fuente) * 100
par(mar = c(8, 4, 3, 2))
barplot(porcentajes,
main = "Gráfica No.2:
Distribución porcentual de Categoría de cada Fuente",
xlab = "",
ylab = "Porcentaje",
col = "darkmagenta",
las = 3,
cex.names = 0.5,
cex.axis = 0.9,
cex.main = 1.2,
ylim = c(0, max(porcentajes) * 1.2),
border = "black")
mtext("Categorías de Fuente", side = 1, line = 5, cex = 1.1)
abline(h = pretty(range(porcentajes), n = 5), col = "gray85", lty = "dotted")

P_Categoria_Fuente <- Tabla$ni / sum(Tabla$ni)
# Eliminar la fila "Total" si está presente
P_Categoria_Fuente <- P_Categoria_Fuente[Tabla$Categoria_Fuente != "Total"]
nombres_Categoria_Fuente <- Tabla$Categoria_Fuente[Tabla$Categoria_Fuente != "Total"]
# Gráfico de barras: Distribución de probabilidad de Categoría de cada Fuente
barplot(P_Categoria_Fuente,
main = "Gráfica Nº3:
Distribución de Probabilidad de Categoría cada de Fuente",
xlab = "Categoría de Fuente",
ylab = "Probabilidad",
col = "darkorchid",
names.arg = nombres_Categoria_Fuente,
las = 3,
cex.names = 0.5)

# ¿Cuál es la probabilidad de que ocurra un derrame en la categoría 'X'?
nombre_categoria <- "Vehiculo"
probabilidad_Vehiculo <- round(
(Tabla$ni[Tabla$Categoria_Fuente == nombre_categoria] / sum(Tabla$ni[Tabla$Categoria_Fuente != "Total"])) * 100,
1
)
print(paste("La probabilidad es de:", probabilidad_Vehiculo, "%"))
## [1] "La probabilidad es de: 0.4 %"
# VARIABLE NOMINAL 5: GRUPO DE CAUSAS PROBABLES ----------------------------------------------------
# Carga de datos
Grupo_causas_probable <- datos$Grupo_causas_probable
TDFGrupo_causas_probable <- table(Grupo_causas_probable)
# Tabla de distribución de frecuencias
Tabla <- as.data.frame(TDFGrupo_causas_probable) # Frecuencia Absoluta
colnames(Tabla)[colnames(Tabla) == "Freq"] <- "ni"
fo_norm <- Tabla$ni / sum(Tabla$ni) # Frecuencia Relativa
fo <- fo_norm * 100
sum(fo)
## [1] 100
Tabla <- data.frame(Tabla, fo)
total_ni <- sum(Tabla$ni) # Agregar fila de totales
total_fo <- sum(Tabla$fo)
fila_total <- data.frame(Grupo_causas_probable = "Total", ni = total_ni, fo = total_fo)
Tabla <- rbind(Tabla, fila_total)
Tabla
## Grupo_causas_probable ni fo
## 1 Afectaciones externas 305 3.0162184
## 2 Factores ambientales 1019 10.0771361
## 3 Factores humanos 896 8.8607595
## 4 Operacion fracking 5 0.0494462
## 5 Otros 285 2.8184335
## 6 Problemas electricos 5 0.0494462
## 7 Problemas tecnicos 7597 75.1285601
## 8 Total 10112 100.0000000
## Gráficas
# Ajustar márgenes
par(mar = c(8, 4, 3, 2))
# Frecuencia Absoluta
barplot(TDFGrupo_causas_probable,
main = "Gráfica No.1:
Distribución de cada Grupo de Causas Probables",
xlab = "",
ylab = "Cantidad",
col = "deepskyblue",
las = 3,
cex.names = 0.5,
cex.axis = 0.9,
cex.main = 1.2,
ylim = c(0, max(TDFGrupo_causas_probable) * 1.2),
border = "black")
mtext("Grupo de Causas Probables", side = 1, line = 5, cex = 1.1)
abline(h = pretty(range(TDFGrupo_causas_probable), n = 5), col = "gray85", lty = "dotted")

# Frecuencia Relativa
porcentajes <- TDFGrupo_causas_probable / sum(TDFGrupo_causas_probable) * 100
par(mar = c(8, 4, 3, 2))
barplot(porcentajes,
main = "Gráfica No.2:
Distribución porcentual de cada Grupo de Causas Probables",
xlab = "",
ylab = "Porcentaje",
col = "deepskyblue3",
las = 3,
cex.names = 0.5,
cex.axis = 0.9,
cex.main = 1.2,
ylim = c(0, max(porcentajes) * 1.2),
border = "black")
mtext("Grupos de Causas Probables", side = 1, line = 5, cex = 1.1)
abline(h = pretty(range(porcentajes), n = 5), col = "gray85", lty = "dotted")

P_Grupo_causas_probable <- Tabla$ni / sum(Tabla$ni)
# Eliminar la fila "Total" si está presente
P_Grupo_causas_probable <- P_Grupo_causas_probable[Tabla$Grupo_causas_probable != "Total"]
nombres_Grupo_causas_probable <- Tabla$Grupo_causas_probable[Tabla$Grupo_causas_probable != "Total"]
# Gráfico de barras: Distribución de probabilidad de cada Grupo de Causas Probables
barplot(P_Grupo_causas_probable,
main = "Gráfica Nº3:
Distribución de Probabilidad de cada Grupo de Causas Probables",
xlab = "Grupo de Causas Probables", ylab = "Probabilidad",
col = "deepskyblue4",
names.arg = nombres_Grupo_causas_probable,
las = 3,
cex.names = 0.5)

# ¿Cuál es la probabilidad de que ocurra un derrame por otro tipo de causa ?
nombre_grupo_causa <- "Otros" # Reemplazar 'X' por el grupo de causa deseado
probabilidad_Otros <- round(
(Tabla$ni[Tabla$Grupo_causas_probable == nombre_grupo_causa] / sum(Tabla$ni[Tabla$Grupo_causas_probable != "Total"])) * 100,
1
)
print(paste("La probabilidad de derrame en el grupo de causa", nombre_grupo_causa, "es de:", probabilidad_Otros, "%"))
## [1] "La probabilidad de derrame en el grupo de causa Otros es de: 2.8 %"
# VARIABLE NOMINAL 6: DERRAME SOBRE AGUA LIMPIO ----------------------------------------------------
# Carga de datos
Derrame_sobre_agua_limpio <- datos$Derrame_sobre_agua_limpio
TDFDerrame_sobre_agua_limpio <- table(Derrame_sobre_agua_limpio)
# Tabla de distribución de frecuencias
Tabla <- as.data.frame(TDFDerrame_sobre_agua_limpio) # Frecuencia Absoluta
colnames(Tabla)[colnames(Tabla) == "Freq"] <- "ni"
fo_norm <- Tabla$ni / sum(Tabla$ni) # Frecuencia Relativa
fo <- fo_norm * 100
sum(fo)
## [1] 100
Tabla <- data.frame(Tabla, fo)
total_ni <- sum(Tabla$ni) # Agregar fila de totales
total_fo <- sum(Tabla$fo)
fila_total <- data.frame(Derrame_sobre_agua_limpio = "Total", ni = total_ni, fo = total_fo)
Tabla <- rbind(Tabla, fila_total)
Tabla
## Derrame_sobre_agua_limpio ni fo
## 1 NO 9586 96.361078
## 2 YES 362 3.638922
## 3 Total 9948 100.000000
## Gráficas
# Ajustar márgenes
par(mar = c(8, 4, 3, 2))
# Frecuencia Absoluta
barplot(TDFDerrame_sobre_agua_limpio,
main = "Gráfica No.1:
Distribución de Derrames sobre Agua Limpia",
xlab = "",
ylab = "Cantidad",
col = "cyan",
las = 3,
cex.names = 0.8,
cex.axis = 0.9,
cex.main = 1.2,
ylim = c(0, max(TDFDerrame_sobre_agua_limpio) * 1.2),
border = "black")
mtext("Derrame sobre Agua Limpia", side = 1, line = 5, cex = 1.1)
abline(h = pretty(range(TDFDerrame_sobre_agua_limpio), n = 5), col = "gray85", lty = "dotted")

# Frecuencia Relativa
porcentajes <- TDFDerrame_sobre_agua_limpio / sum(TDFDerrame_sobre_agua_limpio) * 100
par(mar = c(8, 4, 3, 2))
barplot(porcentajes,
main = "Gráfica No.2:
Distribución porcentual de Derrames sobre Agua Limpia",
xlab = "",
ylab = "Porcentaje",
col = "cyan2",
las = 3,
cex.names = 0.8,
cex.axis = 0.9,
cex.main = 1.2,
ylim = c(0, max(porcentajes) * 1.2),
border = "black")
mtext("Derrames sobre Agua Limpia", side = 1, line = 5, cex = 1.1)
abline(h = pretty(range(porcentajes), n = 5), col = "gray85", lty = "dotted")

# Calcular la probabilidad de cada derrame sobre agua limpia
P_Derrame_sobre_agua_limpio <- Tabla$ni / sum(Tabla$ni)
Tabla <- Tabla[Tabla$Derrame_sobre_agua_limpio != "Total", ]
# Eliminar valores nulos en los datos (en ambas columnas: 'ni' y 'Derrame_sobre_agua_limpio')
Tabla <- Tabla[!is.na(Tabla$ni) & !is.na(Tabla$Derrame_sobre_agua_limpio), ]
# Filtrar valores infinitos o no finitos en los datos
Tabla <- Tabla[is.finite(Tabla$ni) & is.finite(Tabla$Derrame_sobre_agua_limpio), ]
P_Derrame_sobre_agua_limpio <- Tabla$ni / sum(Tabla$ni)
nombres_Derrame_sobre_agua_limpio <- Tabla$Derrame_sobre_agua_limpio
# Verificar que haya datos para el gráfico
if (length(P_Derrame_sobre_agua_limpio) > 0) {
# Gráfico de barras: Distribución de probabilidad de cada Derrame sobre Agua Limpia
barplot(P_Derrame_sobre_agua_limpio,
main = "Gráfica Nº3:
Distribución de Probabilidad de Derrames sobre Agua Limpia",
xlab = "Derrame sobre Agua Limpia", ylab = "Probabilidad",
col = "cyan3",
names.arg = nombres_Derrame_sobre_agua_limpio,
las = 3,
cex.names = 0.8,
ylim = c(0, 1)) # El rango en el eje y debe ser de 0 a 1 para probabilidades
} else {
print("Los datos no son válidos para crear el gráfico. Revisa los valores de la variable.")
}

# ¿Cuál es la probabilidad de que ocurra un derrame sobre agua limpio?
nombre_derrame <- "NO" # Reemplazar 'X' por la categoría deseada
probabilidad_NO <- round(
(Tabla$ni[Tabla$Derrame_sobre_agua_limpio == nombre_derrame] / sum(Tabla$ni[Tabla$Derrame_sobre_agua_limpio != "Total"])) * 100,
1
)
print(paste("La probabilidad de derrame sobre agua limpia en la categoría", nombre_derrame, "es de:", probabilidad_NO, "%"))
## [1] "La probabilidad de derrame sobre agua limpia en la categoría NO es de: 96.4 %"
# VARIABLE NOMINAL 7: ESTADO GENERAL ----------------------------------------------------
# Carga de datos
Estado_general <- datos$Estado_general
TDFEstado_general <- table(Estado_general)
# Tabla de distribución de frecuencias
Tabla <- as.data.frame(TDFEstado_general) # Frecuencia Absoluta
colnames(Tabla)[colnames(Tabla) == "Freq"] <- "ni"
fo_norm <- Tabla$ni / sum(Tabla$ni) # Frecuencia Relativa
fo <- fo_norm * 100
sum(fo)
## [1] 100
Tabla <- data.frame(Tabla, fo)
total_ni <- sum(Tabla$ni) # Agregar fila de totales
total_fo <- sum(Tabla$fo)
fila_total <- data.frame(Estado_general = "Total", ni = total_ni, fo = total_fo)
Tabla <- rbind(Tabla, fila_total)
Tabla
## Estado_general ni fo
## 1 Caso abierto 271 2.7703946
## 2 Cerrado / Controlado 7969 81.4659579
## 3 Evaluación / Seguimiento 1532 15.6614189
## 4 Observaciones tecnicas 10 0.1022286
## 5 Total 9782 100.0000000
## Gráficas
# Ajustar márgenes
par(mar = c(8, 4, 3, 2))
# Frecuencia Absoluta
barplot(TDFEstado_general,
main = "Gráfica No.1:
Distribución de cada Estado General",
xlab = "",
ylab = "Cantidad",
col = "chocolate",
las = 3,
cex.names = 0.8,
cex.axis = 0.9,
cex.main = 1.2,
ylim = c(0, max(TDFEstado_general) * 1.2),
border = "black")
mtext("Estado General", side = 1, line = 5, cex = 1.1)
abline(h = pretty(range(TDFEstado_general), n = 5), col = "gray85", lty = "dotted")

# Frecuencia Relativa
porcentajes <- TDFEstado_general / sum(TDFEstado_general) * 100
par(mar = c(8, 4, 3, 2))
barplot(porcentajes,
main = "Gráfica No.2:
Distribución porcentual de cada Estado General",
xlab = "",
ylab = "Porcentaje",
col = "chocolate1",
las = 3,
cex.names = 0.8,
cex.axis = 0.9,
cex.main = 1.2,
ylim = c(0, max(porcentajes) * 1.2),
border = "black")
mtext("Estados Generales", side = 1, line = 5, cex = 1.1)
abline(h = pretty(range(porcentajes), n = 5), col = "gray85", lty = "dotted")

P_Estado_general <- Tabla$ni / sum(Tabla$ni)
# Eliminar la fila "Total" si está presente
P_Estado_general <- P_Estado_general[Tabla$Estado_general != "Total"]
nombres_Estado_general <- Tabla$Estado_general[Tabla$Estado_general != "Total"]
# Gráfico de barras: Distribución de probabilidad de cada Estado General
barplot(P_Estado_general,
main = "Gráfica Nº3:
Distribución de Probabilidad de cada Estado General",
xlab = "Estado General", ylab = "Probabilidad",
col = "chocolate3",
names.arg = nombres_Estado_general,
las = 3,
cex.names = 0.5)

# ¿Cuál es la probabilidad de que ocurra un derrame en Caso abierto ?
nombre_estado <- "Caso abierto"
probabilidad_Caso<- round(
(Tabla$ni[Tabla$Estado_general == nombre_estado] / sum(Tabla$ni[Tabla$Estado_general != "Total"])) * 100,
1
)
print(paste("La probabilidad de derrame en el estado", nombre_estado, "es de:", probabilidad_Caso, "%"))
## [1] "La probabilidad de derrame en el estado Caso abierto es de: 2.8 %"