# knitr::spin("acumula22_hist.R", knit = FALSE) # Crea .Rmd
# knitr::purl("acumula22_hist.Rmd", documentation = 2) # Crea .R spin

# PENDIENTE:
#   Generar un fichero de cambios:
#         Bucle last:2 / Empezar solo con last
#         AƱadir ficheros 2:(last - 1) a files[last] y calcular diferencia/error y lag/horizonte
#   AnĆ”lisis descriptivo: dispersiĆ³n/boxplot error|lag

library(dplyr, warn.conflicts = FALSE)
library(tidyr)
files <- dir(pattern = paste0('^acumula22_\\d{2}_\\d{2}_\\d{2}\\.RData'))
# Los nombres de los archivos contienen las fechas de reporte (datos del dĆ­a anterior)
fechas.txt <- substr(files, 11, 18)
fechas <- as.Date(fechas.txt, format = "%y_%m_%d") 
last <- length(files)
semanas <- 6
fechas.semanas <- fechas[last] - 7*(semanas:1) - 1
fecha.ini <- fechas.semanas[1]
colors <- gray((last - seq_along(files))/last)


# Cargar datos
datos <- lapply(files, function(f) {
  load(f)
  return(acumula22)
})
names(datos) <- fechas

# Obtener niveles
load("../ccaas.RData")
iso <- names(datos[[1]]) # names(ccaas) 
respuestas <- c("confirmados", "hospitalizados", "uci", "fallecidos") # names(datos[[1]][[1]])

En la web https://covid19.citic.udc.es/ se pueden consultar grĆ”ficos dinĆ”micos seleccionando Cambios en los valores reportados:2021 en la pestaƱa PredicciĆ³n cooperativa: InformaciĆ³n.

A continuaciĆ³n se muestra un grĆ”fico, para cada combinaciĆ³n de CCAA y variable, con toda la serie hasta 2022-01-11 y otro de las Ćŗltimas 6 semanas (desde 2021-11-30).

El color de las lƭneas se corresponde con la fecha en la que se reportaron los datos (se muestra tambiƩn el dƭa del mes en el segundo grƔfico).

xlim2 <- c(fecha.ini, max(fechas) + 1)
plot(NULL ,xaxt='n', yaxt='n', bty='n', ylab='', xlab='', xlim=0:1, ylim=0:1)
legend("top", rev(substr(names(datos),3, 10)), lty = 1, lwd = 5, col = rev(colors), ncol = 8)

for (ca in iso) { # ca <- "ES"
  cat("\n\n# ",  ccaas[ca], "\n\n")

  for (r in respuestas) {  # r <- "confirmados"
    cat("\n\n## ", r, "\n\n") 
    
    ymax <- max(sapply(datos, function(d) max(d[[ca]][[r]]$observado)))
    
    old.par <- par(mfrow = c(1, 2))

    plot(observado ~ fecha, data = datos[[last]][[ca]][[r]], 
         type = "l", main = paste(ccaas[ca], r), xlab = "Fecha", ylab = r,
         col = colors[last], ylim = c(0, ymax))
    lapply(1:(last-1), function(i) 
         lines(observado ~ fecha, data = datos[[i]][[ca]][[r]], 
               col = colors[i]))     
    # legend("topleft", rev(names(datos)), lty = 1, col = rev(colors))
    

    d <- filter(datos[[last]][[ca]][[r]], fecha > fecha.ini - 1)
    ymin <- min(d$observado) * 0.95
    plot(observado ~ fecha, data = d, 
         type = "l", main = paste(ccaas[ca], r), xlab = "Fecha", ylab = r,
         lwd = 2, col = colors[last], 
         xlim = xlim2, ylim = c(ymin, ymax))
    abline(v = fechas.semanas, lty = 3, col = "lightgray")
    lapply(1:(last-1), function(i) 
         lines(observado ~ fecha, data = datos[[i]][[ca]][[r]], 
               col = colors[i], subset = fecha > fecha.ini - 1))
    # legend("topleft", rev(names(datos)), lty = 1, col = rev(colors))
    lapply(1:last, function(i) {
        d <- datos[[i]][[ca]][[r]]
        text(d[nrow(d), c("fecha", "observado")], 
             labels = format(fechas[i], "%d"), pos = 4)
    })
    
    par(old.par)
    
  } # for (r in respuestas)  
} # for (ca in iso)

EspaƱa

confirmados

hospitalizados

uci

fallecidos

AndalucĆ­a

confirmados

hospitalizados

uci

fallecidos

AragĆ³n

confirmados

hospitalizados

uci

fallecidos

Asturias

confirmados

hospitalizados

uci

fallecidos

Canarias

confirmados

hospitalizados

uci

fallecidos

Cantabria

confirmados

hospitalizados

uci

fallecidos

Castilla y LeĆ³n

confirmados

hospitalizados

uci

fallecidos

Castilla-La Mancha

confirmados

hospitalizados

uci

fallecidos

CataluƱa

confirmados

hospitalizados

uci

fallecidos

Ceuta y Melilla

confirmados

hospitalizados

uci

fallecidos

Comunidad Valenciana

confirmados

hospitalizados

uci

fallecidos

Extremadura

confirmados

hospitalizados

uci

fallecidos

Galicia

confirmados

hospitalizados

uci

fallecidos

Islas Baleares

confirmados

hospitalizados

uci

fallecidos

La Rioja

confirmados

hospitalizados

uci

fallecidos

Madrid

confirmados

hospitalizados

uci

fallecidos

Murcia

confirmados

hospitalizados

uci

fallecidos

PaĆ­s Vasco

confirmados

hospitalizados

uci

fallecidos