0.1 ED DE VARIABLES CUALITATIVAS NOMINALES

0.2 Carga de datos

setwd("~/DATASETS")
datos<-read.csv("dataderrames.csv",
                header= TRUE, sep= ";", dec=",", fileEncoding = "latin1")

1 VARIABLES DE UBICACIÓN

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) 

###Código que clasifica Ubicación por CONTINENTE

# Crear columna "Continente" basada en la Ubicación
Tablaubicacion$Continente <- NA

# Reglas para América
america <- c("USA", "US", "CA", "TX", "MI", "OH", "AK", "HI", 
             "Alaska", "Texas", "Ohio", "Michigan", "California", 
             "Louisiana", "NY", "MA")

Tablaubicacion$Continente[grep(paste(america, collapse="|"), 
                               Tablaubicacion$ubicacion, ignore.case = TRUE)] <- "América"

# Reglas para Europa
europa <- c("UK", "England", "France", "Germany", "Spain", "Italy")
Tablaubicacion$Continente[grep(paste(europa, collapse="|"),
                               Tablaubicacion$ubicacion, ignore.case = TRUE)] <- "Europa"

# Reglas para Asia
asia <- c("China", "India", "Japan", "Korea", "Saudi")
Tablaubicacion$Continente[grep(paste(asia, collapse="|"),
                               Tablaubicacion$ubicacion, ignore.case = TRUE)] <- "Asia"

# Reglas para Oceanía
oceania <- c("Australia", "New Zealand")
Tablaubicacion$Continente[grep(paste(oceania, collapse="|"),
                               Tablaubicacion$ubicacion, ignore.case = TRUE)] <- "Oceanía"

# Reglas para África
africa <- c("Nigeria", "South Africa")
Tablaubicacion$Continente[grep(paste(africa, collapse="|"),
                               Tablaubicacion$ubicacion, ignore.case = TRUE)] <- "África"

# Cualquier otro → "Otros"
Tablaubicacion$Continente[is.na(Tablaubicacion$Continente)] <- "Otros"


### Generar tabla de frecuencias por continente
TDFcontinente <- table(Tablaubicacion$Continente)
TablaContinente <- as.data.frame(TDFcontinente)

# Porcentajes
TablaContinente$Porcentaje <- round(TablaContinente$Freq / sum(TablaContinente$Freq) * 100, 2)

1.1 Gráfica de Ubicación por continentes (LOCAL)

barplot(TDFcontinente,
        main="Gráfica: Distribución por Continente",
        xlab="Continente",
        ylab="Cantidad",
        col="darkblue",
        cex.main = 1.5,
        cex.lab = 1,
        cex.axis = 0.9,
        cex.names = 0.9)

1.2 Gráfica de Ubicación por continentes (GLOBAL)

barplot(TDFcontinente, 
        main="Gráfica:\nDistribución por Continente",
        xlab="Continente",
        ylab="Cantidad",
        col="darkblue",
        cex.main = 1.5,    
        cex.lab = 1,   
        cex.axis = 0.7,
        cex.names = 0.7,
        ylim = c(0, sum(TDFcontinente)))

1.3 Gráfica de Ubicación por continentes (PORCENTUAL)

barplot(TablaContinente$Porcentaje,
        main = "Gráfica: Distribución porcentual por Continente",
        xlab = "Continente",
        ylab = "Porcentaje (%)",
        col = "blue",
        names.arg = TablaContinente$Var1,
        cex.main = 1.5,
        cex.lab = 1,
        cex.axis = 0.8,
        cex.names = 0.9,
        ylim = c(0, 100))

1.4 Gráfica de Ubicación por continentes (CIRCULAR)

# Etiquetas SOLO con porcentaje
etiquetas <- paste(TablaContinente$Porcentaje, "%")

pie(TablaContinente$Porcentaje,
    labels = etiquetas,
    main = "Distribución porcentual por Continente",
    col = heat.colors(nrow(TablaContinente)))

# Leyenda SOLO con nombres
legend("bottomleft",
       legend = TablaContinente$Var1,
       fill = heat.colors(nrow(TablaContinente)),
       title = "Continentes",
       cex = 0.9,
       bty = "n")

1.5 Indicadores

#MODA
moda_continente <- names(which.max(TDFcontinente))
moda_continente
## [1] "América"

1.6 Conclusión

La variable presenta una fuerte concentración en el continente América, que es la categoría más frecuente y corresponde a la moda de la distribución. Esto indica que la mayoría de los derrames registrados ocurren en esta región, mientras que los demás continentes presentan una participación mínima dentro del conjunto total de datos.

2 VARIABLE 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)

### AGRUPACIÓN DE TIPO DE CRUDO EN CATEGORÍAS MAYORES

Tablatipo$Categoria <- NA

# 1. CRUDO / OIL
crudo <- c("crude", "oil", "Crude Tall Oil", "VGO", "unk", "tar", "oiled birds")
Tablatipo$Categoria[grep(paste(crudo, collapse="|"), 
                         Tablatipo$tipo, ignore.case = TRUE)] <- "Crudo / Oil"

# 2. DIESEL
diesel <- c("diesel", "diseil", "diesel fuel", "Diesel, Fish")
Tablatipo$Categoria[grep(paste(diesel, collapse="|"),
                         Tablatipo$tipo, ignore.case = TRUE)] <- "Diesel"

# 3. FUEL OIL (BUNKER / IFO)
fueloil <- c("bunker", "fuel oil", "IFO", "IFO 380")
Tablatipo$Categoria[grep(paste(fueloil, collapse="|"),
                         Tablatipo$tipo, ignore.case = TRUE)] <- "Fuel Oil"

# 4. GAS / JET FUEL
gas <- c("gas fuel oil", "JP", "JP-5", "gasoline")
Tablatipo$Categoria[grep(paste(gas, collapse="|"),
                         Tablatipo$tipo, ignore.case = TRUE)] <- "Gasolina / Jet fuel"

# 5. ACEITES MINERALES
minerales <- c("mineral oil", "heating oil")
Tablatipo$Categoria[grep(paste(minerales, collapse="|"),
                         Tablatipo$tipo, ignore.case = TRUE)] <- "Mineral Oil"

# 6. OTROS
Tablatipo$Categoria[is.na(Tablatipo$Categoria)] <- "Otros"


### TABLA AGRUPADA
TDFcategoria <- table(Tablatipo$Categoria)
TablaCategoria <- as.data.frame(TDFcategoria)

TablaCategoria$Porcentaje <- round(TablaCategoria$Freq / sum(TablaCategoria$Freq) * 100, 2)

2.1 Gráfica de Tipo de Crudo (LOCAL)

barplot(TDFcategoria,
        main="Gráfica No.2:\nDistribución del Tipo de Combustible",
        xlab="Categoría de combustible",
        ylab="Cantidad",
        col="darkgreen",
        cex.main = 1.5,
        cex.lab = 1,
        cex.axis = 0.8,
        cex.names = 0.9)

2.2 Gráfica de Tipo de Crudo (GLOBAL)

barplot(TDFcategoria,
        main="Gráfica No.2:\nDistribución del Tipo de Combustible (vista global)",
        xlab="Categoría de combustible",
        ylab="Cantidad",
        col="darkgreen",
        cex.main = 1.5,
        cex.lab = 1,
        cex.axis = 0.8,
        cex.names = 0.9,
        ylim = c(0, sum(TDFcategoria)))

2.3 Gráfica de Tipo de Crudo (PORCENTUAL)

barplot(TablaCategoria$Porcentaje,
        main="Gráfica No.2:\nDistribución porcentual del Tipo de Combustible",
        xlab="Categoría de combustible",
        ylab="Porcentaje (%)",
        col="darkgreen",
        names.arg = TablaCategoria$Var1,
        cex.main = 1.5,
        cex.lab = 1,
        cex.axis = 0.8,
        cex.names = 0.9,
        ylim = c(0, 100))

2.4 Gráfica de Tipo de Crudo (CIRCULAR)

etiquetas_porcentaje <- paste(TablaCategoria$Porcentaje, "%")

pie(TablaCategoria$Porcentaje,
    labels = etiquetas_porcentaje,
    main="Distribución porcentual del Tipo de Combustible",
    col = heat.colors(nrow(TablaCategoria))
)

# Leyenda con solo los nombres
legend("topright",
       legend = TablaCategoria$Var1,
       fill = heat.colors(nrow(TablaCategoria)),
       title = "Categorías",
       cex = 0.9,
       bty = "n")

2.5 Indicadores

#MODA
# Tabla de frecuencias del tipo de crudo
TDFcategoria <- table(Tablatipo$Categoria)
moda_categoria <- names(which.max(TDFcategoria))
moda_categoria
## [1] "Crudo / Oil"

2.6 Conclusión

La variable está dominada por la categoría Crudo / Oil, que constituye la mayor parte de los derrames registrados. Esto indica que los incidentes están fuertemente asociados al manejo y transporte de crudo, mientras que las demás categorías presentan frecuencias considerablemente menores.

3 VARIABLE 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)

### Crear vector categorizado
categoria <- rep("Otras", length(Tablacausa$causa))

categoria[grepl("corro|rotur|fuga|tuber|tanque|ducto|fall|defec|mal func", 
                Tablacausa$causa, ignore.case = TRUE)] <- "Fallas técnicas"

categoria[grepl("error|humano|operaci|maniobra|neglig", 
                Tablacausa$causa, ignore.case = TRUE)] <- "Factores humanos"

categoria[grepl("acciden|choque|colisi|impacto|embarc|naveg", 
                Tablacausa$causa, ignore.case = TRUE)] <- "Accidentes"

categoria[grepl("inund|torment|lluvia|terrem|sismo|clima|volcan", 
                Tablacausa$causa, ignore.case = TRUE)] <- "Eventos naturales"

categoria[grepl("vandal|sabota|robo|delincu", 
                Tablacausa$causa, ignore.case = TRUE)] <- "Actos externos"

### Crear tabla resumida con categorías
Tablacausa$Categoria <- categoria

TablaAgrupada <- aggregate(Freq ~ Categoria, data = Tablacausa, sum)

TablaAgrupada <- TablaAgrupada[order(-TablaAgrupada$Freq), ]

3.1 Gráfica de Causa de Derrame (LOCAL)

barplot(TablaAgrupada$Freq,
        names.arg = TablaAgrupada$Categoria,
        col="darkgreen",
        main="Distribución de Causas del Derrame (Agrupadas)",
        xlab="Categoría",
        ylab="Cantidad",
        cex.names = 1,
        cex.main = 1.5)

3.2 Gráfica de Causa de Derrame (GLOBAL)

barplot(TablaAgrupada$Freq,
        names.arg = TablaAgrupada$Categoria,
        col = "darkgreen",
        main = "Distribución Global de Causas del Derrame (Agrupadas)",
        xlab = "Categoría",
        ylab = "Cantidad",
        cex.names = 1,
        cex.main = 1.5,
        ylim = c(0, sum(TablaAgrupada$Freq))   
)

3.3 Gráfica de Causa de Derrame (PORCENTUAL)

TablaAgrupada$Porcentaje <- round(TablaAgrupada$Freq / sum(TablaAgrupada$Freq) * 100, 2)

barplot(TablaAgrupada$Porcentaje,
        names.arg = TablaAgrupada$Categoria,
        col="steelblue",
        main="Distribución porcentual de Causas (Agrupadas)",
        xlab="Categoría",
        ylab="Porcentaje (%)",
        ylim=c(0,100))

3.4 Gráfica de Causa de Derrame (CIRCULAR)

pie(TablaAgrupada$Porcentaje,
    labels = paste(TablaAgrupada$Porcentaje, "%"),
    col = heat.colors(nrow(TablaAgrupada)),
    main = "Causas del Derrame (Agrupadas)"
)

legend("topright",
       legend = TablaAgrupada$Categoria,
       fill = heat.colors(nrow(TablaAgrupada)),
       title = "Categorías",
       cex = 0.9,
       bty="n")

3.5 Indicadores

# Moda de la causa del derrame (agrupada)
TDFcausaAgrupada <- table(Tablacausa$Categoria)
moda_causa_agrupada <- names(which.max(TDFcausaAgrupada))
moda_causa_agrupada
## [1] "Otras"

3.6 Conclusión

La causa de derrame más frecuente corresponde a Fallas técnicas, lo que indica que la mayoría de incidentes se originan por problemas en equipos, tuberías o infraestructura, evidenciando la necesidad de fortalecer el mantenimiento y la integridad operativa.

4 VARIABLE AMENAZA DE DERRAME

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)

4.1 Gráfica de Amenaza de Derrame (LOCAL)

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)))

4.2 Gráfica de Amenaza de Derrame (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)))

4.3 Gráfica de Amenaza de Derrame (PORCENTUAL)

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))

4.4 Gráfica de Amenaza de Derrame (CIRCULAR)

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))))

4.5 Indicadores

#MODA
moda_amenaza <- names(which.max(TDFamenaza))
moda_amenaza
## [1] "Oil"

4.6 Conclusión

La amenaza de derrame más frecuente corresponde a Oil, lo que indica que este tipo de riesgo es el que más se repite en los incidentes analizados y debe recibir mayor atención en los planes de prevención y mitigación.

5 VARIABLE 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)

Tablaetiquetas$grupo_logico <- NA

# 3. Definir listas de categorías
incidentes <- c("Collision", "Grounding", "Adrift", "Derelict")
estructuras <- c("Railcar", "Pipeline", "Wellhead")
fenomenos <- c("Hurricane", "Tsunami")
operaciones <- c("Mystery Substance", "Search + Rescue")

# 4. Función para clasificar cada etiqueta
clasificar_etiqueta <- function(etiqueta) {
  componentes <- unlist(strsplit(etiqueta, "\\|")) # separa componentes
  if (any(componentes %in% incidentes)) {
    return("Incidentes Marítimos")
  } else if (any(componentes %in% estructuras)) {
    return("Objetos y Estructuras")
  } else if (any(componentes %in% fenomenos)) {
    return("Fenómenos Naturales")
  } else if (any(componentes %in% operaciones)) {
    return("Operaciones o Misterios")
  } else {
    return("Otros")
  }
}

# 5. Aplicar la función a todas las filas (con conversión a carácter)
Tablaetiquetas$grupo_logico <- sapply(as.character(Tablaetiquetas$etiquetas), clasificar_etiqueta)
# Tabla de frecuencias con la nueva agrupación
grupo_etiquetas <- table(Tablaetiquetas$grupo_logico)

5.1 Gráfica de Etiqueta (LOCAL)

barplot(grupo_etiquetas, 
        main="Gráfica No.1:\nDistribución de Etiqueta de Derrame",
        xlab="Grupo de Derrame",
        ylab="Cantidad",
        col="red",
        cex.main = 1.5,    
        cex.lab = 1,   
        cex.axis = 0.7,
        cex.names = 0.8,
        ylim = c(0, max(grupo_etiquetas)+10))

5.2 Gráfica de Etiqueta (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)))

5.3 Gráfica de Etiqueta (PORCENTUAL)

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))

5.4 Gráfica de Etiqueta (CIRCULAR)

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))))

5.5 Indicadores

#MODA
# Calcular la moda
moda <- names(grupo_etiquetas)[which.max(grupo_etiquetas)]
moda
## [1] "Incidentes Marítimos"

5.6 Conclusión

La mayoría de los derrames se clasifican como Incidentes Marítimos, lo que indica que los accidentes en el mar, como colisiones, encallamientos y embarcaciones a la deriva, son la principal causa de los eventos registrados. Los demás grupos, como Objetos y Estructuras o Fenómenos Naturales, representan una proporción menor del total de derrames.

6 VARIABLE FUENTE DE 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)

6.1 Gráfica de Fuente de Respuesta (LOCAL)

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)))

6.2 Gráfica de Fuente de Respuesta (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)))

6.3 Gráfica de Fuente de Respuesta (PORCENTUAL)

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))

6.4 Gráfica de Fuente de Respuesta (CIRCULAR)

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)

6.5 Indicadores

#MODA
moda_fuente <- names(TDFfuente)[which.max(TDFfuente)]
moda_fuente
## [1] "description"

6.6 Conclusión

a fuente de respuesta más frecuente es Description, indicando que la mayoría de los derrames fueron gestionados o reportados por esta entidad. Esto sugiere que esta fuente tiene un papel central en la atención o monitoreo de los incidentes, mientras que otras fuentes intervienen con menor frecuencia.

7 VARIABLE ETIQUETA DE 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)

7.1 Gráfica de Etiqueta de Actualización (LOCAL)

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)))

7.2 Gráfica de Etiqueta de Actualizació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)))

7.3 Gráfica de Etiqueta de Actualización (PORCENTUAL)

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))

7.4 Gráfica de Etiqueta de Actualización (CIRCULAR)

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")

7.5 Indicadores

moda_actualizacion <- names(TDFactualizacion)[which.max(TDFactualizacion)]
moda_actualizacion
## [1] "RA still unavailable"

7.6 Conclusion

La categoría más frecuente en Etiqueta de actualización es “RA still unavailable”, indicando que la mayoría de los registros han recibido este tipo de actualización. Esto refleja que el seguimiento y registro de los eventos se mantiene al día principalmente bajo esta clasificación, mientras que otras categorías de actualización son menos frecuentes.