# TEMA: ED de variables nominales
# FECHA: 09/9/2025
# AUTOR: Grupo
# Carga de datos
setwd("~/DATASETS")
datos<-read.csv("Derrames_globales.csv",
header= TRUE, sep= ";", dec=",", fileEncoding = "UTF-8")
# ED DE VARIABLES CUALITATIVAS NOMINALES
# Tabla número 1: Tipo de pozo
ubicacion<-datos$Ubicacion
ubicacion<-na.omit(ubicacion)
TDFubicacion<-table(ubicacion)
Tablaubicacion<-as.data.frame(TDFubicacion)
hi<-Tablaubicacion$Freq/sum(Tablaubicacion$Freq)
hi<-round(hi*100,2)
Tablaubicacion<-data.frame(Tablaubicacion,hi)
# Tabla número 2: Amenaza
amenaza<-datos$Amenaza
amenaza<-na.omit(amenaza)
TDFamenaza<-table(amenaza)
Tablaamenaza<-as.data.frame(TDFamenaza)
hiamenaza<-Tablaamenaza$Freq/sum(Tablaamenaza$Freq)
hiamenaza<-round(hiamenaza*100,2)
Tablaamenaza<-data.frame(Tablaamenaza,hiamenaza)
# GDF versión local de Amenaza de derrame
par(mar = c(4, 6, 4, 5) + 0.1)
barplot(TDFamenaza,
main="Gráfica No.1:
Distrubución de Amenaza de derrame",
xlab="Amenaza de derrame",
ylab="Cantidad",
col="red",
cex.main = 1.5,
cex.lab = 1,
cex.axis = 0.7,
cex.names = 0.7,
ylim = c(0, max(TDFamenaza)))

# GDF Amenaza de derrame Versión global
barplot(TDFamenaza,
main="Gráfica No.2:
Distrubución de Amenaza de derrame",
xlab="Amenaza de derrame",
ylab="Cantidad",
col="darkred",
cex.main = 1.5,
cex.lab = 1,
cex.axis = 0.7,
cex.names = 0.7,
ylim=c(0,sum(Tablaamenaza$Freq)))

# GDF Amenaza de derrame porcentaje
barplot(Tablaamenaza$hiamenaza,
main="Gráfica No.3:
Distribución de Amenaza de derrame",
xlab="Amenaza de derrame",
ylab="Porcentaje",
col="blue",
names.arg = Tablaamenaza$amenaza,
cex.main = 1.5,
cex.lab = 1,
cex.axis = 0.7,
cex.names = 0.7,
ylim=c(0,100))

# DIAGRAMA CÍRCULAR
etiqueta_amenaza<-paste(hiamenaza,"%")
pie(hiamenaza, main="Gráfica No.4:
Distribución de Amenaza de derrame",
radius = 1,
col=colores<-c(rev(heat.colors(4))),
labels = etiqueta_amenaza)
legend("bottomleft", legend = unique(Tablaamenaza$amenaza),
title="Leyenda",
cex = 0.7,
fill=colores<-c(rev(heat.colors(4))))

# Tabla número 3: Etiqueta
etiquetas<-datos$Etiquetas
etiquetas<-na.omit(etiquetas)
TDFetiquetas<-table(etiquetas)
Tablaetiquetas<-as.data.frame(TDFetiquetas)
hietiquetas<-Tablaetiquetas$Freq/sum(Tablaetiquetas$Freq)
hietiquetas<-round(hietiquetas*100,2)
Tablaetiquetas<-data.frame(Tablaetiquetas,hietiquetas)
for (i in 1:29) {
categoria <- Tablaetiquetas$etiquetas[i]
if (categoria %in% c("Collision", "Grounding", "Adrift", "Derelict")) {
Tablaetiquetas$grupo_logico[i] <- "Incidentes Marítimos"
} else if (categoria %in% c("Railcar", "Pipeline", "Wellhead")) {
Tablaetiquetas$grupo_logico[i] <- "Objetos y Estructuras"
} else if (categoria %in% c("Hurricane", "Tsunami")) {
Tablaetiquetas$grupo_logico[i] <- "Fenómenos Naturales"
} else if (categoria %in% c("Mystery Substance", "Search + Rescue")) {
Tablaetiquetas$grupo_logico[i] <- "Operaciones o Misterios"
} else {
Tablaetiquetas$grupo_logico[i] <- "Otros"
}
}
grupo_etiquetas<-table(Tablaetiquetas$grupo_logico)
# GDF versión local de Etiqueta de derrame
par(mar = c(4, 6, 4, 5) + 0.1)
barplot(grupo_etiquetas,
main="Gráfica No.1:
Distrubución de Etiqueta de derrame",
xlab="Etiqueta de derrame",
ylab="Cantidad",
col="red",
cex.main = 1.5,
cex.lab = 1,
cex.axis = 0.7,
cex.names = 0.5,
ylim = c(0, max(grupo_etiquetas)))

# GDF Etiqueta de derrame Versión global
barplot(grupo_etiquetas,
main="Gráfica No.2:
Distrubución de Etiqueta de derrame",
xlab="Etiqueta de derrame",
ylab="Cantidad",
col="darkred",
cex.main = 1.5,
cex.lab = 1,
cex.axis = 0.7,
cex.names = 0.7,
ylim=c(0,sum(grupo_etiquetas)))

# GDF Etiqueta de derrame porcentaje
hi_grupo_etiquetas<-grupo_etiquetas/sum(grupo_etiquetas)
hi_grupo_etiquetas<-round(hi_grupo_etiquetas*100,2)
barplot(hi_grupo_etiquetas,
main="Gráfica No.3:
Distribución de Etiqueta de derrame",
xlab="Etiqueta de derrame",
ylab="Porcentaje",
col="blue",
names.arg = names(hi_grupo_etiquetas),
cex.main = 1.5,
cex.lab = 1,
cex.axis = 0.7,
cex.names = 0.5,
ylim=c(0,100))

# DIAGRAMA CÍRCULAR
etiqueta<-paste(hi_grupo_etiquetas,"%")
pie(hi_grupo_etiquetas, main="Gráfica No.4:
Distribución de Etiqueta de derrame",
radius = 1,
col=colores<-c(rev(heat.colors(5))),
labels = etiqueta)
legend("bottomleft", legend = names(hi_grupo_etiquetas),
title="Leyenda",
cex = 0.6,
fill=colores<-c(rev(heat.colors(5))))

# Tabla número 4: Tipo de crudo
tipo<-datos$Tipo_de_crudo
tipo<-na.omit(tipo)
TDFtipo<-table(tipo)
Tablatipo<-as.data.frame(TDFtipo)
hitipo<-Tablatipo$Freq/sum(Tablatipo$Freq)
hitipo<-round(hitipo*100,2)
Tablatipo<-data.frame(Tablatipo,hitipo)
# Tabla número 5: Causa de derrame
causa<-datos$Causa_principal
causa<-na.omit(causa)
TDFcausa<-table(causa)
Tablacausa<-as.data.frame(TDFcausa)
hicausa<-Tablacausa$Freq/sum(Tablacausa$Freq)
hicausa<-round(hicausa*100,2)
Tablacausa<-data.frame(Tablacausa,hicausa)
# Tabla número 6: Fuente respuesta
fuente<-datos$Fuente_respuesta
fuente<-na.omit(fuente)
TDFfuente<-table(fuente)
Tablafuente<-as.data.frame(TDFfuente)
hifuente<-Tablafuente$Freq/sum(Tablafuente$Freq)
hifuente<-round(hifuente*100,2)
Tablafuente<-data.frame(Tablafuente,hifuente)
# GDF versión local de Fuente respuesta
par(mar = c(4, 6, 4, 5) + 0.1)
barplot(TDFfuente,
main="Gráfica No.1:
Distrubución de Fuente respuesta",
xlab="Fuente respuesta",
ylab="Cantidad",
col="red",
cex.main = 1.5,
cex.lab = 1,
cex.axis = 0.7,
cex.names = 0.5,
ylim = c(0, max(TDFfuente)))

# GDF Fuente respuesta Versión global
barplot(TDFfuente,
main="Gráfica No.2:
Distrubución de Fuente respuesta",
xlab="Fuente respuesta",
ylab="Cantidad",
col="darkred",
cex.main = 1.5,
cex.lab = 1,
cex.axis = 0.7,
cex.names = 0.7,
ylim=c(0,sum(TDFfuente)))

# GDF Etiqueta de derrame porcentaje
barplot(hifuente,
main="Gráfica No.3:
Distribución de Fuente respuesta",
xlab="Fuente respuesta",
ylab="Porcentaje",
col="blue",
names.arg = Tablafuente$fuente,
cex.main = 1.5,
cex.lab = 1,
cex.axis = 0.7,
cex.names = 0.7,
ylim=c(0,100))

# DIAGRAMA CÍRCULAR
nombres_leyenda <- as.character(unique(Tablafuente$fuente))
etiquetafuente <- paste(hifuente, "%")
pie(hifuente,
main="Gráfica No.4:\nDistribución de Fuente respuesta",
radius = 1,
col=colores <- c(rev(heat.colors(4))),
labels = etiquetafuente)
legend("bottomleft",
legend = unique(Tablafuente$fuente),
title="Leyenda",
cex = 0.5,
fill=colores)

# Tabla número 7: Etiqueta actualización
actualizacion<-datos$etiqueta_actualizacion
actualizacion<-na.omit(actualizacion)
TDFactualizacion<-table(actualizacion)
Tablaactualizacion<-as.data.frame(TDFactualizacion)
hiactualizacion<-Tablaactualizacion$Freq/sum(Tablaactualizacion$Freq)
hiactualizacion<-round(hiactualizacion*100,2)
Tablaactualizacion<-data.frame(Tablaactualizacion,hiactualizacion)
# GDF versión local de Etiqueta actualización
par(mar = c(4, 6, 4, 5) + 0.1)
barplot(TDFactualizacion,
main="Gráfica No.1:
Distrubución de Etiqueta actualización",
xlab="Etiqueta actualización",
ylab="Cantidad",
col="red",
cex.main = 1.5,
cex.lab = 1,
cex.axis = 0.7,
cex.names = 0.5,
ylim = c(0, max(TDFactualizacion)))

# GDF Etiqueta actualización Versión global
barplot(TDFactualizacion,
main="Gráfica No.2:
Distrubución de Etiqueta actualización",
xlab="Etiqueta actualización",
ylab="Cantidad",
col="darkred",
cex.main = 1.5,
cex.lab = 1,
cex.axis = 0.7,
cex.names = 0.7,
ylim=c(0,sum(TDFactualizacion)))

# GDF Etiqueta de derrame porcentaje
barplot(hiactualizacion,
main="Gráfica No.3:
Distribución de Etiqueta actualización",
xlab="Etiqueta actualización",
ylab="Porcentaje",
col="blue",
names.arg = Tablaactualizacion$actualizacion,
cex.main = 1.5,
cex.lab = 1,
cex.axis = 0.7,
cex.names = 0.7,
ylim=c(0,100))

# DIAGRAMA CÍRCULAR
nombres_leyenda <- as.character(unique(Tablaactualizacion$actualizacion))
etiquetaactualizacion <- paste(hiactualizacion, "%")
pie(hiactualizacion,
main="Gráfica No.4:\nDistribución de Etiqueta actualización",
radius = 1,
col=colores <- c(rev(heat.colors(4))),
labels = etiquetaactualizacion)
legend("bottomleft",
legend = unique(Tablaactualizacion$actualizacion),
title="Leyenda",
cex = 0.5,
fill=colores,
xpd = TRUE,
bty = "n")
