0. Librerías
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
library(gt)
3. Tabla de distribución de frecuencias
# -------------------------
# Tabla de frecuencias
# -------------------------
tabla_freq <- as.data.frame(
table(Tiempo)
)
# Renombrar columnas
colnames(tabla_freq) <- c(
"Tiempo",
"ni"
)
# Frecuencia relativa
tabla_freq$hi <- round(
(tabla_freq$ni / sum(tabla_freq$ni)) * 100,
2
)
# Frecuencias acumuladas ascendentes
tabla_freq$Ni_asc <- cumsum(tabla_freq$ni)
tabla_freq$Hi_asc <- round(cumsum(tabla_freq$hi), 2)
# Frecuencias acumuladas descendentes
tabla_freq$Ni_dsc <- rev(cumsum(rev(tabla_freq$ni)))
tabla_freq$Hi_dsc <- round(rev(cumsum(rev(tabla_freq$hi))), 2)
# -------------------------
# Agregar fila de totales
# -------------------------
fila_total <- data.frame(
Tiempo = "TOTAL",
ni = sum(tabla_freq$ni),
hi = 100,
Ni_asc = "",
Hi_asc = "",
Ni_dsc = "",
Hi_dsc = ""
)
tabla_final <- rbind(
tabla_freq,
fila_total
)
# -------------------------
# Tabla GT
# -------------------------
tabla_gt <- tabla_final %>%
gt() %>%
tab_header(
title = md("**Tabla N°1**"),
subtitle = md(
"**Distribución de frecuencias de la referencia de tiempo en el estudio de la calidad de agua en Europa (1991-2017)**"
)
) %>%
cols_label(
Tiempo = "Referencia de tiempo",
ni = "ni",
hi = "hi (%)",
Ni_asc = "Ni ↑",
Hi_asc = "Hi ↑ (%)",
Ni_dsc = "Ni ↓",
Hi_dsc = "Hi ↓ (%)"
) %>%
tab_style(
style = cell_text(weight = "bold"),
locations = cells_body(
rows = Tiempo == "TOTAL"
)
) %>%
opt_row_striping()
tabla_gt
| Tabla N°1 |
| Distribución de frecuencias de la referencia de tiempo en el estudio de la calidad de agua en Europa (1991-2017) |
| Referencia de tiempo |
ni |
hi (%) |
Ni ↑ |
Hi ↑ (%) |
Ni ↓ |
Hi ↓ (%) |
| 1991 |
1 |
0.00 |
1 |
0 |
20000 |
99.94 |
| 1992 |
3 |
0.01 |
4 |
0.01 |
19999 |
99.94 |
| 1995 |
1 |
0.00 |
5 |
0.01 |
19996 |
99.93 |
| 1996 |
1 |
0.00 |
6 |
0.01 |
19995 |
99.93 |
| 1997 |
1 |
0.00 |
7 |
0.01 |
19994 |
99.93 |
| 1999 |
1 |
0.00 |
8 |
0.01 |
19993 |
99.93 |
| 2000 |
4 |
0.02 |
12 |
0.03 |
19992 |
99.93 |
| 2001 |
1 |
0.00 |
13 |
0.03 |
19988 |
99.91 |
| 2003 |
1 |
0.00 |
14 |
0.03 |
19987 |
99.91 |
| 2004 |
5 |
0.03 |
19 |
0.06 |
19986 |
99.91 |
| 2005 |
13 |
0.06 |
32 |
0.12 |
19981 |
99.88 |
| 2006 |
983 |
4.92 |
1015 |
5.04 |
19968 |
99.82 |
| 2007 |
1216 |
6.08 |
2231 |
11.12 |
18985 |
94.9 |
| 2008 |
4938 |
24.69 |
7169 |
35.81 |
17769 |
88.82 |
| 2009 |
9356 |
46.78 |
16525 |
82.59 |
12831 |
64.13 |
| 2010 |
1797 |
8.98 |
18322 |
91.57 |
3475 |
17.35 |
| 2011 |
128 |
0.64 |
18450 |
92.21 |
1678 |
8.37 |
| 2012 |
264 |
1.32 |
18714 |
93.53 |
1550 |
7.73 |
| 2013 |
197 |
0.98 |
18911 |
94.51 |
1286 |
6.41 |
| 2014 |
236 |
1.18 |
19147 |
95.69 |
1089 |
5.43 |
| 2015 |
255 |
1.27 |
19402 |
96.96 |
853 |
4.25 |
| 2016 |
589 |
2.94 |
19991 |
99.9 |
598 |
2.98 |
| 2017 |
9 |
0.04 |
20000 |
99.94 |
9 |
0.04 |
| TOTAL |
20000 |
100.00 |
|
|
|
|
4 Gráficas
4.1 Histograma (ni)
# =========================
# HISTOGRAMA (ni)
# =========================
barplot(
tabla_freq$ni,
main = "Gráfica N°1: Distribución de la referencia de tiempo
en el estudio de la calidad de agua en Europa (1991-2017)",
xlab = "referencia de tiempo",
ylab = "Cantidad",
col = "skyblue",
ylim = c(0, max(tabla_freq$ni)*1.1),
names.arg = tabla_freq$Tiempo,
las = 2,
cex.names = 0.8
)

4.2 Histograma General (ni)
# =========================
# HISTOGRAMA GENERAL (ni)
# =========================
barplot(
tabla_freq$ni,
main = "Gráfica N°2: Distribución general de la referencia de tiempo
en el estudio de la calidad de agua en Europa (1991-2017)",
xlab = "Referencia de tiempo",
ylab = "Cantidad",
col = "lightgreen",
ylim = c(0, 20000),
names.arg = tabla_freq$Tiempo,
las = 2,
cex.names = 0.8
)

4.3 Histograma (hi)
# =========================
# HISTOGRAMA (hi)
# =========================
barplot(
tabla_freq$hi,
main = "Gráfica N°3: Distribución porcentual de la referencia de
tiempo en el estudio de la calidad de agua en Europa (1991-2017)",
xlab = "Referencia de tiempo",
ylab = "Porcentaje",
col = "skyblue",
ylim = c(0, max(tabla_freq$hi) * 1.1),
names.arg = tabla_freq$Tiempo,
las = 2,
cex.names = 0.8
)

4.4 Histograma General (hi)
# =========================
# HISTOGRAMA GENERAL (hi)
# =========================
barplot(
tabla_freq$hi,
main = "Gráfica N°4: Distribución porcentual general de la referencia
de tiempo en el estudio de la calidad de agua en Europa (1991-2017)",
xlab = "Referencia de tiempo",
ylab = "Porcentaje",
col = "lightgreen",
ylim = c(0,100),
names.arg = tabla_freq$Tiempo,
las = 2,
cex.names = 0.8
)

4.5 Diagrama de Caja
# =========================
# DIAGRAMA DE CAJA
# =========================
boxplot(
Tiempo,
horizontal = TRUE,
col = "orange",
main = "Gráfica N°5: Distribución de la referencia de tiempo
en el estudio de la calidad de agua en Europa (1991-2017)",
xlab = "Referencia de tiempo"
)
points(
mean(Tiempo),
1,
pch = 19,
col = "red"
)
legend(
"topright",
legend = "Media",
pch = 19,
col = "red"
)

4.6 Ojivas ascendentes y descendentes (Ni)
# ======================================
# OJIVAS ASCENDENTES Y DESCENDENTES (Ni)
# ======================================
# Posiciones en el eje X
x_pos <- 1:length(tabla_freq$Tiempo)
# Ojiva descendente
plot(
x_pos,
tabla_freq$Ni_dsc,
main = "Gráfica N°6: Ojiva ascendente y descendente de la referencia
de tiempo en el estudio de la calidad de agua en Europa (1991-2017)",
xlab = "Referencia de tiempo",
ylab = "Cantidad",
col = "orange",
type = "p",
lwd = 3,
xaxt = "n"
)
# Ojiva ascendente
lines(
x_pos,
tabla_freq$Ni_asc,
col = "green",
type = "p",
lwd = 3
)
# Etiquetas del eje X
axis(
side = 1,
at = x_pos,
labels = tabla_freq$Tiempo,
las = 2,
cex.axis = 0.75
)
# Leyenda
legend(
"topright",
legend = c("Descendente", "Ascendente"),
col = c("orange", "green"),
pch = 1
)

4.7 Ojivas ascendentes y descendentes (Hi)
# ======================================
# OJIVAS ASCENDENTES Y DESCENDENTES (Hi)
# ======================================
# Posiciones en el eje X
x_pos <- 1:length(tabla_freq$Tiempo)
# Ojiva descendente
plot(
x_pos,
tabla_freq$Hi_dsc,
main = "Gráfica N°7: Ojiva ascendente y descendente de la referencia
de tiempo en el estudio de la calidad de agua en Europa (1991-2017)",
xlab = "Referencia de tiempo",
ylab = "Porcentaje",
col = "red",
type = "p",
lwd = 3,
xaxt = "n",
ylim = c(0, 100)
)
# Ojiva ascendente
lines(
x_pos,
tabla_freq$Hi_asc,
col = "blue",
type = "p",
lwd = 3
)
# Etiquetas del eje X
axis(
side = 1,
at = x_pos,
labels = tabla_freq$Tiempo,
las = 2,
cex.axis = 0.75
)
# Leyenda
legend(
"topright",
legend = c("Descendente", "Ascendente"),
col = c("red", "blue"),
pch = 1
)

5. Indicadores Estadísticos
5.1 Indicadores de Tendencia Central
# =========================
# INDICADORES ESTADÍSTICOS
# Variable: Referencia de tiempo
# =========================
# =========================
# MEDIDAS DE TENDENCIA CENTRAL
# =========================
# Media
media <- round(mean(Tiempo), 2)
# Moda
tabla_moda <- table(Tiempo)
max_frecuencia <- max(tabla_moda)
moda <- names(tabla_moda)[tabla_moda == max_frecuencia]
# Mediana
mediana <- median(Tiempo)
5.2 Dispersión
# =========================
# MEDIDAS DE DISPERSIÓN
# =========================
# Rango
rango <- max(Tiempo) - min(Tiempo)
# Varianza
varianza <- var(Tiempo)
# Desviación estándar
desviacion <- sd(Tiempo)
# Coeficiente de variación
cv <- round((desviacion / media) * 100, 2)
5.3 Asimetría
# =========================
# MEDIDAS DE FORMA
# =========================
n <- length(Tiempo)
# Asimetría
asimetria <- sum((Tiempo - media)^3) /
((n - 1) * desviacion^3)
# Curtosis
curtosis <- sum((Tiempo - media)^4) /
((n - 1) * desviacion^4) - 3
# =========================
# VALORES ATÍPICOS
# =========================
Q1 <- quantile(Tiempo, 0.25)
Q3 <- quantile(Tiempo, 0.75)
RIQ <- Q3 - Q1
LI <- Q1 - 1.5 * RIQ
LS <- Q3 + 1.5 * RIQ
atipicos <- Tiempo[
Tiempo < LI |
Tiempo > LS
]
if(length(atipicos) > 0){
mensaje_atipicos <- length(atipicos)
}else{
mensaje_atipicos <- 0
}
5.4 Tabla de indicadores
# =========================
# TABLA RESUMEN
# =========================
tabla_indicadores <- data.frame(
Variable = "Referencia de tiempo",
Rango = paste0("[", min(Tiempo), " ; ", max(Tiempo), "]"),
X = media,
Me = mediana,
Mo = paste(moda, collapse = ", "),
V = round(varianza, 2),
Sd = round(desviacion, 2),
Cv = cv,
As = round(asimetria, 2),
K = round(curtosis, 2),
Valores_Atipicos = mensaje_atipicos,
stringsAsFactors = FALSE
)
fila <- which(
tabla_indicadores$Variable ==
"Referencia de tiempo"
)
tabla_indicadores_gt <- tabla_indicadores %>%
gt() %>%
tab_header(
title = md("**Tabla N°2**"),
subtitle = md(
"**Indicadores estadísticos de la referencia de tiempo en el estudio de la calidad de agua en Europa (1991-2017)**"
)
) %>%
tab_source_note(
source_note = md("Autor: Grupo 3")
) %>%
tab_options(
table.border.top.color = "black",
table.border.bottom.color = "black",
column_labels.border.bottom.width = px(2),
row.striping.include_table_body = TRUE
) %>%
tab_style(
style = cell_text(weight = "bold"),
locations = cells_body(
rows = fila
)
)
tabla_indicadores_gt
| Tabla N°2 |
| Indicadores estadísticos de la referencia de tiempo en el estudio de la calidad de agua en Europa (1991-2017) |
| Variable |
Rango |
X |
Me |
Mo |
V |
Sd |
Cv |
As |
K |
Valores_Atipicos |
| Referencia de tiempo |
[1991 ; 2017] |
2009 |
2009 |
2009 |
3.68 |
1.92 |
0.1 |
1.7 |
6.61 |
2693 |
| Autor: Grupo 3 |