From bc45b54448749e0ccf1a7b4c28599d673caaa891 Mon Sep 17 00:00:00 2001 From: joskerus Date: Mon, 20 Nov 2023 14:39:57 -0500 Subject: [PATCH] prueba 11 bases de datos necesarias --- episodes/TallerEbola.Rmd | 26 ++++++++++++------------- episodes/files/contactos_20140701.xlsx | Bin 0 -> 11866 bytes episodes/files/directorio_casos.rds | Bin 0 -> 5267 bytes 3 files changed, 13 insertions(+), 13 deletions(-) create mode 100644 episodes/files/contactos_20140701.xlsx create mode 100644 episodes/files/directorio_casos.rds diff --git a/episodes/TallerEbola.Rmd b/episodes/TallerEbola.Rmd index b134a07..8dbf9b1 100644 --- a/episodes/TallerEbola.Rmd +++ b/episodes/TallerEbola.Rmd @@ -117,7 +117,7 @@ En esta práctica se desarrollarán los siguientes conceptos: - Incidencia -# 1. Preparación {#sección-1} +## 1. Preparación {#sección-1} #### Preparación previa @@ -153,12 +153,12 @@ Se le ha proporcionado la siguiente base de datos de casos (directorio_casos) y Para leer en R, descargue estos archivos y use la función `read_xlsx` del paquete `readxl` para importar los datos y la función `read_rds` de `tidyverse`. Cada grupo de datos importados creará una tabla de datos almacenada como el objeto `tibble.` ```{r echo=TRUE, message=FALSE, warning=FALSE, comment=""} -directorio_casos <- read_rds("data/directorio_casos.rds") +directorio_casos <- read_rds("files/directorio_casos.rds") ``` ```{r echo=TRUE, message=FALSE, warning=FALSE,comment=""} -contactos <- read_excel("data/contactos_20140701.xlsx", na = c("", "NA")) +contactos <- read_excel("files/contactos_20140701.xlsx", na = c("", "NA")) ``` @@ -198,10 +198,10 @@ En el caso del directorio de casos encuentra: Note que las fechas ya están en formato fecha (`Date`). -# 2. CFR {#sección-2} +## 2. CFR {#sección-2} -#### Probabilidad de muerte en los casos reportados (`CFR`) +### Probabilidad de muerte en los casos reportados (`CFR`) ```{r echo=TRUE, message=FALSE, warning=FALSE,comment=""} table(directorio_casos$desenlace, useNA = "ifany") @@ -299,9 +299,9 @@ tasa_letalidad_con_CI ``` :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -# 3. Incidencia {#sección-3} +## 3. Incidencia {#sección-3} -## 3.1. Curva de incidencia diaria {#sección-3.1} +### 3.1. Curva de incidencia diaria {#sección-3.1} El paquete `incidence` es de gran utilidad para el análisis epidemiológico de datos de incidencia de enfermedades infecciosas, dado que permite calcular la incidencia a partir del intervalo temporal suministrado (por ejemplo, diario, semanal). Dentro de este paquete esta la función `incidence` la cual puede usar varios argumentos: @@ -372,7 +372,7 @@ La naturaleza errática de las barras, con picos altos seguidos por periodos de :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -## 3.2. Cálculo de la incidencia semanal {#sección-3.2} +### 3.2. Cálculo de la incidencia semanal {#sección-3.2} Teniendo en cuenta lo aprendido durante la incidencia diaria cree una variable para incidencia semanal, interprete el resultado y haga una gráfica. Para escoger la fecha que utilizará como última fecha en el tercer argumento ¿Qué fecha sería la más adecuada? Tenga en cuenta que la fecha debe ser posterior al evento. @@ -416,7 +416,7 @@ plot(incidencia_semanal, border = "black") De acuerdo a lo aprendido interprete la gráfica. ¿Qué observa? ¿Los datos se comportan diferente? ¿Es lo que esperaba? ¿Logra observar tendencias? -# 4. Tasa de crecimiento {#sección-4} +## 4. Tasa de crecimiento {#sección-4} ### 4.1. Modelo log-lineal {#sección-4.1} @@ -774,7 +774,7 @@ cat("Intervalo de confianza del tiempo de duplicación (95%):", tiempo_duplicaci Si no lo recuerda vuelva por pistas a la sección [Ajuste un modelo log-lineal a los datos de incidencia semanal](#interpretación-del-modelo) -# 5. Rastreo de contactos {#sección-5} +## 5. Rastreo de contactos {#sección-5} Una de las grandes utilidades de tener datos como un directorio de casos y una lista de contactos, es la posibilidad de generar una red de rastreo de contactos. @@ -836,9 +836,9 @@ directorio_casos %>% filter(id_caso == "3f1aaf") La función `Match` evita esta busqueda manual. -# 6. Intervalo serial y Rt {#sección-6} +## 6. Intervalo serial y Rt {#sección-6} -## 6.1. Estimación del intervalo serial (SI) {#sección-6.1} +### 6.1. Estimación del intervalo serial (SI) {#sección-6.1} ¿Qué es el intervalo serial? @@ -910,7 +910,7 @@ points(0:60, distribucion_gamma$d(0:60), col = "#9933ff", type = "l", lty = 2) ``` -## 6.2. Estimación de la transmisibilidad variable en el tiempo, R(t) {#sección-6.2} +### 6.2. Estimación de la transmisibilidad variable en el tiempo, R(t) {#sección-6.2} Cuando la suposición de que ($R$) es constante en el tiempo se vuelve insostenible, una alternativa es estimar la transmisibilidad variable en el tiempo utilizando el número de reproducción instantánea ($R_t$). Este enfoque, introducido por Cori et al. (2013), se implementa en el paquete `EpiEstim.` Estima ($R_t$) para ventanas de tiempo personalizadas (el valor predeterminado es una sucesión de ventanas de tiempo deslizantes), utilizando la probabilidad de Poisson. A continuación, estimamos la transmisibilidad para ventanas de tiempo deslizantes de 1 semana (el valor predeterminado de `estimate_R`): diff --git a/episodes/files/contactos_20140701.xlsx b/episodes/files/contactos_20140701.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..dd94578b67b2816e137ddd047624d97a5667345b GIT binary patch literal 11866 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