#------------------ UNIVERSIDAD CENTRAL DEL ECUADOR
##-----Facultad de Ingeniería en Geología, Minas, Petróleos y Ambiental
###-----------------Carrera de Ingeniería Ambiental

# Proyecto: Estudio de Contaminación por Plásticos a Nivel Mundial
# Etapa: Estadística Descriptiva
# Integrantes: Jhoao Cueva, Deisy Guasti, Marck Pillajo, María José Samaniego, Carlos Yugsi
# Fecha: 11/11/2026

# VARIABLE CUALITATIVA NOMINAL: PAÍS

# Carga de datos
ruta <- "C:/Users/HOME/Downloads/98631dc5bb9a4ea5a8f9c0b4ec433290_0.csv"

datos <- read.csv(ruta, stringsAsFactors = FALSE, strip.white = TRUE,
                  na.strings = c("", "NA"), fileEncoding = "UTF-8")
nrow(datos)
## [1] 54388
# Limpieza de datos: se eliminan filas desalineadas (sin día ni año válidos)
dias <- c("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday")
anio <- suppressWarnings(as.numeric(trimws(datos$Year)))
datos <- datos[trimws(datos$DOW) %in% dias & !is.na(anio) & anio >= 2015 & anio <= 2023, ]
nrow(datos)
## [1] 54388
# Extraer variable nominal
pais <- datos$COUNTRY
pais <- trimws(as.character(pais))
pais <- pais[!is.na(pais) & pais != ""]

# EDA variable nominal
TDFpais <- table(pais)
Tablafinal <- as.data.frame(TDFpais, stringsAsFactors = FALSE)
names(Tablafinal) <- c("Categoria", "Freq")
# Se ordena de mayor a menor frecuencia
Tablafinal <- Tablafinal[order(-Tablafinal$Freq), ]

# Esta variable tiene muchas categorías: se muestran las 10 más frecuentes y el resto se agrupa en "Otros"
if (nrow(Tablafinal) > 10) {
  resto <- Tablafinal[-(1:10), ]
  Tablafinal <- rbind(Tablafinal[1:10, ],
                      data.frame(Categoria = "Otros", Freq = sum(resto$Freq)))
}

ni <- Tablafinal$Freq
sum(ni)
## [1] 53716
hi <- (Tablafinal$Freq / sum(Tablafinal$Freq)) * 100
sum(hi)
## [1] 100
Tablafinal <- data.frame(Tablafinal, round(hi, 2))
names(Tablafinal) <- c("País", "ni", "hi(%)")

# Creamos la fila del total
totales <- data.frame("País" = "TOTAL", "ni" = sum(ni),
                      "hi(%)" = round(sum(hi), 2), check.names = FALSE)

Tablafinal_con_total <- rbind(Tablafinal, totales)
Tablafinal_con_total
##               País    ni  hi(%)
## 152  United States 30964  57.64
## 25          Canada  3230   6.01
## 79        Malaysia  3012   5.61
## 151 United Kingdom  1491   2.78
## 141    Switzerland  1044   1.94
## 135   South Africa   662   1.23
## 85          Mexico   653   1.22
## 29           China   585   1.09
## 6        Australia   525   0.98
## 41         Ecuador   523   0.97
## 1            Otros 11027  20.53
## 11           TOTAL 53716 100.00
# Nombres cortos para el eje de las gráficas
nombres <- ifelse(nchar(Tablafinal[[1]]) > 25,
                  paste0(substr(Tablafinal[[1]], 1, 22), "..."), Tablafinal[[1]])

# GDF LOCAL ni
par(mar = c(9, 6, 4, 2))
barplot(Tablafinal$ni,
        main = "Gráfica No.1: Distribución de Cantidad del país
        del Estudio de Contaminación por Plásticos",
        ylab = "", col = "blue3",
        names.arg = nombres, las = 2, cex.names = 0.8)
mtext("País", side = 1, line = 7)
mtext("Cantidad", side = 2, line = 4.5)

# GDF GLOBAL ni
par(mar = c(9, 6, 4, 2))
barplot(Tablafinal$ni,
        main = "Gráfica No.2: Distribución de Cantidad del país
        del Estudio de Contaminación por Plásticos",
        ylab = "", col = "purple3",
        names.arg = nombres, las = 2, cex.names = 0.8,
        ylim = c(0, sum(ni)))
mtext("País", side = 1, line = 7)
mtext("Cantidad", side = 2, line = 4.5)

# GDF LOCAL hi
par(mar = c(9, 6, 4, 2))
barplot(Tablafinal$`hi(%)`,
        main = "Gráfica No.3: Distribución de Porcentaje del país
        del Estudio de Contaminación por Plásticos",
        ylab = "", col = "blue3",
        names.arg = nombres, las = 2, cex.names = 0.8)
mtext("País", side = 1, line = 7)
mtext("Porcentaje (%)", side = 2, line = 4.5)

# GDF GLOBAL hi
par(mar = c(9, 6, 4, 2))
barplot(Tablafinal$`hi(%)`,
        main = "Gráfica No.4: Distribución de Porcentaje del país
        del Estudio de Contaminación por Plásticos",
        ylab = "", col = "purple3",
        names.arg = nombres, las = 2, cex.names = 0.8,
        ylim = c(0, 100))
mtext("País", side = 1, line = 7)
mtext("Porcentaje (%)", side = 2, line = 4.5)

# DIAGRAMA CIRCULAR
par(mar = c(2, 2, 4, 2))
pie(
  Tablafinal$`hi(%)`,
  labels = ifelse(Tablafinal$`hi(%)` >= 3, paste(Tablafinal$`hi(%)`, "%"), ""),
  col = heat.colors(length(Tablafinal$`hi(%)`)),
  radius = 1,
  main = "Gráfica No.5: Distribución Porcentual del país
        del Estudio de Contaminación por Plásticos"
)
legend("topright",
       legend = paste0(nombres, " (", Tablafinal$`hi(%)`, "%)"),
       fill = heat.colors(length(Tablafinal$`hi(%)`)),
       title = "Leyenda",
       cex = 0.65)