library(dplyr)
library(gt)
Dataset <- read.csv(
"C:/Users/User/Downloads/Dataset.csv",
header = TRUE,
sep = ";"
)
datos <- Dataset
FCH_ESTATUTO <- trimws(as.character(datos$STAT_DATE))
FCH_ESTATUTO <- FCH_ESTATUTO[!is.na(FCH_ESTATUTO) & FCH_ESTATUTO != ""]
anios <- substr(FCH_ESTATUTO, 1, 4)
anios <- anios[
as.numeric(anios) >= 1990 &
as.numeric(anios) <= 2010
]
n <- length(anios)
anios <- factor(
anios,
levels = sort(unique(anios)),
ordered = TRUE
)
cat("Variable : STAT_DATE\n")
## Variable : STAT_DATE
cat("Nombre : FCH_ESTATUTO\n")
## Nombre : FCH_ESTATUTO
cat("n validos :", n, "\n")
## n validos : 2503
TDF <- as.data.frame(table(anios))
names(TDF) <- c("Anio", "fi")
TDF <- TDF %>%
mutate(
fri = round(fi / n * 100, 2),
Ni_asc = cumsum(fi),
Ni_des = rev(cumsum(rev(fi))),
Hi_asc = round(cumsum(fri), 2),
Hi_des = round(rev(cumsum(rev(fri))), 2)
)
TDF_total <- TDF %>%
add_row(
Anio = "Total",
fi = sum(TDF$fi),
fri = round(sum(TDF$fri), 2),
Ni_asc = max(TDF$Ni_asc),
Ni_des = min(TDF$Ni_des),
Hi_asc = max(TDF$Hi_asc),
Hi_des = min(TDF$Hi_des)
)
TDF_total
## Anio fi fri Ni_asc Ni_des Hi_asc Hi_des
## 1 1990 41 1.64 41 2503 1.64 100.01
## 2 1991 42 1.68 83 2462 3.32 98.37
## 3 1992 40 1.60 123 2420 4.92 96.69
## 4 1993 41 1.64 164 2380 6.56 95.09
## 5 1994 32 1.28 196 2339 7.84 93.45
## 6 1995 46 1.84 242 2307 9.68 92.17
## 7 1996 65 2.60 307 2261 12.28 90.33
## 8 1997 78 3.12 385 2196 15.40 87.73
## 9 1998 87 3.48 472 2118 18.88 84.61
## 10 1999 117 4.67 589 2031 23.55 81.13
## 11 2000 126 5.03 715 1914 28.58 76.46
## 12 2001 175 6.99 890 1788 35.57 71.43
## 13 2002 196 7.83 1086 1613 43.40 64.44
## 14 2003 241 9.63 1327 1417 53.03 56.61
## 15 2004 374 14.94 1701 1176 67.97 46.98
## 16 2005 535 21.37 2236 802 89.34 32.04
## 17 2006 267 10.67 2503 267 100.01 10.67
## 18 Total 2503 100.01 2503 267 100.01 10.67
TDF_total %>%
gt() %>%
tab_header(
title = md("**Tabla 1**"),
subtitle = md("Distribución de frecuencias por año de estatuto")
)
| Tabla 1 | ||||||
| Distribución de frecuencias por año de estatuto | ||||||
| Anio | fi | fri | Ni_asc | Ni_des | Hi_asc | Hi_des |
|---|---|---|---|---|---|---|
| 1990 | 41 | 1.64 | 41 | 2503 | 1.64 | 100.01 |
| 1991 | 42 | 1.68 | 83 | 2462 | 3.32 | 98.37 |
| 1992 | 40 | 1.60 | 123 | 2420 | 4.92 | 96.69 |
| 1993 | 41 | 1.64 | 164 | 2380 | 6.56 | 95.09 |
| 1994 | 32 | 1.28 | 196 | 2339 | 7.84 | 93.45 |
| 1995 | 46 | 1.84 | 242 | 2307 | 9.68 | 92.17 |
| 1996 | 65 | 2.60 | 307 | 2261 | 12.28 | 90.33 |
| 1997 | 78 | 3.12 | 385 | 2196 | 15.40 | 87.73 |
| 1998 | 87 | 3.48 | 472 | 2118 | 18.88 | 84.61 |
| 1999 | 117 | 4.67 | 589 | 2031 | 23.55 | 81.13 |
| 2000 | 126 | 5.03 | 715 | 1914 | 28.58 | 76.46 |
| 2001 | 175 | 6.99 | 890 | 1788 | 35.57 | 71.43 |
| 2002 | 196 | 7.83 | 1086 | 1613 | 43.40 | 64.44 |
| 2003 | 241 | 9.63 | 1327 | 1417 | 53.03 | 56.61 |
| 2004 | 374 | 14.94 | 1701 | 1176 | 67.97 | 46.98 |
| 2005 | 535 | 21.37 | 2236 | 802 | 89.34 | 32.04 |
| 2006 | 267 | 10.67 | 2503 | 267 | 100.01 | 10.67 |
| Total | 2503 | 100.01 | 2503 | 267 | 100.01 | 10.67 |
TDF_graf <- TDF_total %>%
filter(Anio != "Total")
barplot(
TDF_graf$fi,
names.arg = TDF_graf$Anio,
las = 2,
col = "#7030A0",
main = "Frecuencia Absoluta",
ylab = "Frecuencia absoluta"
)
barplot(
TDF_graf$fri,
names.arg = TDF_graf$Anio,
las = 2,
col = "#C5A3D8",
main = "Frecuencia Relativa",
ylab = "Frecuencia relativa (%)"
)
pie(
TDF_graf$fri,
labels = TDF_graf$Anio,
main = "Distribución porcentual"
)
plot(
1:nrow(TDF_graf),
TDF_graf$Hi_asc,
type = "b",
pch = 16,
xaxt = "n",
main = "Ojiva acumulada",
ylab = "Frecuencia acumulada (%)"
)
axis(
1,
at = 1:nrow(TDF_graf),
labels = TDF_graf$Anio,
las = 2
)
moda_idx <- which.max(TDF_graf$fi)
moda <- TDF_graf$Anio[moda_idx]
moda_fi <- TDF_graf$fi[moda_idx]
moda_fri <- TDF_graf$fri[moda_idx]
med_idx <- which(TDF_graf$Ni_asc >= n/2)[1]
mediana <- TDF_graf$Anio[med_idx]
data.frame(
Indicador = c("Moda", "Mediana"),
Resultado = c(
paste0(moda, " (", moda_fi, " eventos, ", moda_fri, "%)"),
mediana
)
)
## Indicador Resultado
## 1 Moda 2005 (535 eventos, 21.37%)
## 2 Mediana 2003
La variable STAT_DATE representa el año del estado operativo registrado para cada instalación minera. El análisis permite identificar los períodos con mayor concentración de cambios de estado y proporciona una referencia temporal para relacionar la actividad minera con las emisiones estatales de CO₂, NOx y CH₄.