0.Carga de librerias

library(gt)
library(dplyr)
## 
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union

1. Leer datos

datos <- read.csv(
  "waterPollution.csv",
  sep = ",",
  stringsAsFactors = FALSE
)

2. Extracción de la variable

Protección_marina <- datos$TerraMarineProtected_2016_2018

3. Tabla de distribución de frecuencias

# =========================
# TABLA DE FRECUENCIAS
# =========================

TDF_Nivel <- data.frame(table(Protección_marina))

ni <- TDF_Nivel$Freq
hi <- round((ni / sum(ni)) * 100, 2)

TDF_Nivel <- data.frame(
  Protección_marina = TDF_Nivel$Protección_marina,
  ni,
  hi
)

Summary <- data.frame(
  Protección_marina = "TOTAL",
  ni = sum(ni),
  hi = 100
)

TDF_Nivel_suma <- rbind(TDF_Nivel, Summary)

colnames(TDF_Nivel_suma) <- c(
  "Protección_marina",
  "ni",
  "hi(%)"
)

# =========================
# TABLA 
# =========================

TDF_Nivel_suma %>%
  gt() %>%
  tab_header(
    title = md("*Tabla Nro. 1*"),
    subtitle = md(
      "**Distribución del nivel de protección marina en el estudio de la calidad de agua 
        en Europa(1991.2017)**"
    )
  ) %>%
  tab_source_note(
    source_note = md("Autor: Grupo 3")
  )
Tabla Nro. 1
Distribución del nivel de protección marina en el estudio de la calidad de agua en Europa(1991.2017)
Protección_marina ni hi(%)
Malo 19336 97.2
Moderado 557 2.8
Bueno 0 0.0
TOTAL 19893 100.0
Autor: Grupo 3

4. Gráficas

4.1. Diagrama de barras general

#Diagrama de barras local ni
barplot(ni,
        main = "Distribución del nivel de protección marina en el
        estudio de la calidad de agua 
        en Europa(1991.2017)",
        xlab = "Nivel de protección marina",
        ylab = "Cantidad",
        col = "red",
        ylim = c(0,max(TDF_Nivel$ni)),
        las = 1,
        cex.names = 0.7,
        names.arg = TDF_Nivel$Protección_marina)

4.2. Diagrama de barras

#Diagrama de barras local ni
barplot(ni,
        main = "Distribución del nivel de protección marina en el
        estudio de la calidad de agua 
        en Europa(1991.2017)",
        xlab = "Nivel de protección marina",
        ylab = "Cantidad",
        col = "red",
        ylim = c(0,20000),
        las = 1,
        cex.names = 0.7,
        names.arg = TDF_Nivel$Protección_marina)

4.3. Diagrama de barras porcentual general

# =========================
# GRÁFICA DE BARRAS
# Frecuencia relativa (hi)
# =========================

barplot(hi,
        main = "Distribución del nivel de protección marina en el
        estudio de la calidad de agua 
        en Europa(1991.2017)",
        xlab = "Nivel de protección marina",
        ylab = "Cantidad",
        col = "green",
        ylim = c(0,max(TDF_Nivel$hi)),
        las = 1,
        cex.names = 0.7,
        names.arg = TDF_Nivel$Protección_marina)

4.4. Diagrama de barras porcentual

# =========================
# GRÁFICA DE BARRAS (hi)
# =========================

barplot(hi,
        main = "Nivel de protección marina en el estudio de la
        calidad de agua en Europa(1991.2017)",
        xlab = "Nivel de protección marina",
        ylab = "Porcentaje",
        col = "green",
        ylim = c(0,100),
        las = 1,
        cex.names = 0.7,
        names.arg = TDF_Nivel$Protección_marina)

4.5 Diagrama circular

# =========================
# DIAGRAMA CIRCULAR
# =========================

etiquetas <- paste0(hi, " %")
colores <- c("yellow", "khaki1", "gold", "orange", "darkorange", "red")

par(mar = c(2,2,4,6))

pie(
  hi,
  labels = etiquetas,
  col = colores,
  main = " Distribución porcentual del nivel de protección marina en 
  el estudio de la calidad de agua 
        en Europa(1991.2017)",
  cex = 1
)

legend(
  "topright",
  legend = TDF_Nivel$Protección_marina,
  fill = colores,
  title = "Leyenda",
  cex = 0.6,
  xpd = TRUE
)

5. Indicadores Estadísticos

# =================================================================
# 5. Indicadores Estadísticos
# CÁLCULO DE MEDIDAS DE POSICIÓN PARA VARIABLE ORDINAL
# =================================================================

# 1. Mediana (Me): categoría donde el porcentaje acumulado alcanza el 50%
porcentaje_acumulado <- cumsum(hi)
posicion_mediana <- which(porcentaje_acumulado >= 50)[1]
mediana_val <- TDF_Nivel$Protección_marina[posicion_mediana]

# 2. Moda (Mo): categoría con la mayor frecuencia absoluta
posicion_moda <- which.max(ni)
moda_val <- TDF_Nivel$Protección_marina[posicion_moda]

# 3. Construcción de la tabla de indicadores estadísticos
tabla_indicadores <- data.frame(
  Variable = "Nivel de protección marina",
  Rango = "-",
  X = "-",
  Me = as.character(mediana_val),
  Mo = as.character(moda_val),
  V = "-",
  Sd = "-",
  Cv = "-",
  As = "-",
  K = "-",
  Valores_Atipicos = "No aplica",
  stringsAsFactors = FALSE
)

# 4. Formato de la tabla con gt
tabla_indicadores_gt <- tabla_indicadores %>%
  gt() %>%
  tab_header(
    title = "Tabla Nro. 2",
    subtitle = "Indicadores estadísticos del nivel de protección marina el estudio de la calidad de agua 
        en Europa(1991.2017)"
  ) %>%
  cols_label(
    Variable = "Variable",
    Rango = "Rango",
    X = "X",
    Me = "Me",
    Mo = "Mo",
    V = "V",
    Sd = "Sd",
    Cv = "Cv",
    As = "As",
    K = "K",
    Valores_Atipicos = "Valores Atípicos"
  ) %>%
  tab_source_note(
    source_note = "Autor: Grupo 3"
  ) %>%
  tab_options(
    table.border.top.color = "black",
    table.border.bottom.color = "black",
    column_labels.border.bottom.color = "black",
    row.striping.include_table_body = TRUE,
    table.align = "center"
  )

# Mostrar la tabla
tabla_indicadores_gt
Tabla Nro. 2
Indicadores estadísticos del nivel de protección marina el estudio de la calidad de agua en Europa(1991.2017)
Variable Rango X Me Mo V Sd Cv As K Valores Atípicos
Nivel de protección marina - - Malo Malo - - - - - No aplica
Autor: Grupo 3

6. Conclusión

#El valor más frecuente de la variable nivel de protección marina es Malo y gira en torno a la mediana Malo; por lo tanto, el comportamiento predominante refleja un bajo nivel de protección marina en las observaciones analizadas.