# ANÁLISIS ESTADÍSTICOS DE LOS CAUDALES DEL RÍO TORDERÁ. if(!require("readxl")) install.packages("readxl") library(readxl) ## ANÁLISIS DE SERIES ANUALES # Descarga del fichero con los datos download.file("https://personales.unican.es/rasillad/docencia/g171/Litoral/series_temporales.xlsx", destfile = "series_temporales.xlsx", mode="wb") caudales <- read_excel("series_temporales.xlsx", sheet = "Caudales_Tordera") caudales #Transformación en una serie temporal tordera.ts <- ts(caudales$Tordera, frequency=1, start=1954) # Representación gráfica con la media móvil if (!require("zoo")) install.packages("zoo") library(zoo) tordera_media_movil <- rollmean(tordera.ts, k = 7, fill = NA) ts.plot(tordera.ts, xlab="Años hidrológicos", ylab="Caudal (m3s)", main= "Evolución del caudal de los ríos Ebro y Tordera") points(tordera.ts) lines(tordera_media_movil, col="black", lwd=4) # Verificación de la tendencia a largo plazo. if(!require("Kendall")) install.packages("Kendall") library(Kendall) mk.tordera.ts <- MannKendall(tordera.ts) summary(mk.tordera.ts) # Cuantificación de la tendencia con el método de regresión de mínimos cuadrados modelo.regresion.tordera.ts <- lm(tordera.ts~time(tordera.ts)) # La pendiente (término a) equivale a la tendencia (valor/unidad de tiempo). Los valores ajustados (predichos) corresponden a la evolución a largo plazo de la tendencia (línea recta). modelo.regresion.tordera.ts$coefficients modelo.regresion.tordera.ts$fitted.values # Representación gráfica de la tendencia a largo plazo. ts.plot(tordera.ts, xlab="Años", ylab="Caudal m3/s", main= "Evolución del caudal medio anual del río Torderá") points(tordera.ts) abline(modelo.regresion.tordera.ts) # Cálculo de la tendencia mediante el método de Sen if(!require("trend")) install.packages("trend") library(trend) sens.slope(tordera.ts,conf.level = 0.95) # Al igual que en los otros procedimientos, se puede solicitar la impresión en pantalla del valor de la tendencia ($estimate) y el p-valuede esa tendencia. sens.slope(tordera.ts)$estimate sens.slope(tordera.ts)$p.value # A continuación, el alumnado deberá repetir esta misma actividad, pero analizando el caudal del río Ebro en Tortosa. # ANÁLISIS ESTADÍSTICO DEL NIVEL DEL MAR. # Descarga del fichero download.file("https://personales.unican.es/rasillad/docencia/g171/Litoral/series_temporales.xlsx", destfile = "series_temporales.xlsx", mode="wb") # La primera serie aparece en la hoja de cálculo “ejemplo1” barcelona <- read_excel("series_temporales", sheet = "Nivel_mar_Barcelona") barcelona #Conversión en serie temporal barcelona.ts <- ts(barcelona$Barcelona, frequency=12, start=c(1993,1)) # Representación del régimen mensual del nivel del mar boxplot(barcelona.ts ~ cycle(barcelona.ts)) # Serie aditiva o multiplicativa varianza.barcelona.ts <- aggregate(barcelona.ts, FUN = var) plot(varianza.barcelona.ts) # Descomposición de la serie en sus componentes barcelona.ts.descompuesta <- decompose(barcelona.ts, "additive") # Conversión de las componentes en series temporales tendencia.barcelona.ts <- ts(barcelona.ts.descompuesta$trend) # Tendencia componente.estacional.barcelona.ts <- ts(barcelona.ts.descompuesta$seasonal) # Comportamiento estacional componente.aleatoria.barcelona.ts <- ts(barcelona.ts.descompuesta$random) # Residuos (sin tendencia ni comportamiento estacional # Es posible obtener en un único panel los gráficos correspondientes a esos componentes de la serie original plot(barcelona.ts.descompuesta) # Dibuja la serie estacional y los 3 componentes # También es posible dibujar cada componente de manera aislada. plot(as.ts(barcelona.ts.descompuesta$trend)) # Dibuja sólo la tendencia #Los datos obtenidos de la función decompose() pueden ser sometidos a procedimientos adicionales, como los vistos anteriormente. mk.barcelona.ts <- MannKendall(barcelona.ts.descompuesta$trend) summary(mk.barcelona.ts) # Cuantificación de la tendencia con el método de regresión de mínimos cuadrados modelo.regresion.barcelona.ts <- lm(barcelona.ts~time(barcelona.ts)) # La pendiente (término a) equivale a la tendencia (valor/unidad de tiempo). Los valores ajustados (predichos) corresponden a la evolución a largo plazo de la tendencia (línea recta). modelo.regresion.barcelona.ts$coefficients modelo.regresion.barcelona.ts$fitted.values #Esta tendencia a largo plazo puede representarse gráficamente ts.plot(barcelona.ts.descompuesta$trend, xlab="Periodo temporal ", ylab="Altura nivel mar (m)", main= "Evolución del nivel del mar mareógrafo de Barcelona") points(tordera.ts) abline(modelo.regresion.barcelona.ts) if(!require("trend")) install.packages("trend") library(trend) sens.slope(tordera.ts,conf.level = 0.95) # Al igual que en los otros procedimientos, se puede solicitar la impresión en pantalla del valor de la tendencia ($estimate) y el p-valuede esa tendencia. sens.slope(tordera.ts)$estimate sens.slope(tordera.ts)$p.value **TRABAJO AUTÓNOMO** A continuación, el alumnado deberá repetir esta misma actividad, pero analizando el nivel del mar en el mareógrafo de Tarragona. :::