diff --git a/.nojekyll b/.nojekyll index 656c5f1..66f3de2 100644 --- a/.nojekyll +++ b/.nojekyll @@ -1 +1 @@ -a60cb341 \ No newline at end of file +97d72dd1 \ No newline at end of file diff --git a/search.json b/search.json index 571598d..2544025 100644 --- a/search.json +++ b/search.json @@ -1,39 +1,4 @@ [ - { - "objectID": "LICENSE.html", - "href": "LICENSE.html", - "title": "MIT License", - "section": "", - "text": "MIT License\nCopyright (c) 2023 geocovid_bsas authors\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE." - }, - { - "objectID": "analisis_datos_covid.html", - "href": "analisis_datos_covid.html", - "title": "Análisis de datos de COVID-19", - "section": "", - "text": "Input inicial Base de datos csv pública de casos de COVID-19 en Argentina.\nObjetivo Obtener una base de datos limplia y lista de usar en GeoCovid app: - Cada observación debe tener una fecha de contagio/enfermedad.\n── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──\n✔ dplyr 1.1.2 ✔ readr 2.1.4\n✔ forcats 1.0.0 ✔ stringr 1.5.0\n✔ ggplot2 3.4.3 ✔ tibble 3.2.1\n✔ lubridate 1.9.2 ✔ tidyr 1.3.0\n✔ purrr 1.0.1 \n── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──\n✖ dplyr::filter() masks stats::filter()\n✖ dplyr::lag() masks stats::lag()\nℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors\n\nAttaching package: 'arrow'\n\n\nThe following object is masked from 'package:lubridate':\n\n duration\n\n\nThe following object is masked from 'package:utils':\n\n timestamp\n\n\n\nAttaching package: 'plotly'\n\n\nThe following object is masked from 'package:arrow':\n\n schema\n\n\nThe following object is masked from 'package:ggplot2':\n\n last_plot\n\n\nThe following object is masked from 'package:stats':\n\n filter\n\n\nThe following object is masked from 'package:graphics':\n\n layout" - }, - { - "objectID": "analisis_datos_covid.html#carga-de-los-datos-y-análisis-inicial", - "href": "analisis_datos_covid.html#carga-de-los-datos-y-análisis-inicial", - "title": "Análisis de datos de COVID-19", - "section": "Carga de los datos y análisis inicial", - "text": "Carga de los datos y análisis inicial\n\n# Leo el archivo como csv. Esta en Dropbox ya que es bastante grande.\ncovid_data <- arrow::open_dataset(\"/Users/florenciadandrea/Dropbox/data_geocovid/Covid19Casos.csv\", \n format = 'csv')\n\n# Elijo que datos voy a descargar usando dplyr. \n# Los datos no se bajan hasta que uso collect()\n\ncovid_casos_muestra <- covid_data |> \n filter(clasificacion_resumen != 'Descartado',\n carga_provincia_nombre %in% c('CABA', 'Buenos Aires') | residencia_provincia_nombre %in% c('CABA', 'Buenos Aires')) |>\n select(id_evento_caso,\n edad, edad_años_meses, sexo,\n carga_provincia_nombre,\n residencia_pais_nombre, residencia_provincia_nombre, residencia_departamento_nombre,\n fecha_inicio_sintomas, fecha_diagnostico, fecha_internacion, fecha_cui_intensivo, fecha_fallecimiento,\n clasificacion, clasificacion_resumen) |> \n collect()\n\n# Los guardo en formato parquet para reducir el tamaño\n# write_parquet(covid_casos_muestra, \"../data/covid_casos/covid_casos_baires.parquet\")\n\nComposición del dataset:\n\ncovid_casos_muestra <- read_parquet(\"data/inicial/covid_casos_baires.parquet\")\nstr(covid_casos_muestra)\n\ntibble [5,245,880 × 15] (S3: tbl_df/tbl/data.frame)\n $ id_evento_caso : int [1:5245880] 10000049 10000055 10000057 1000006 10000066 10000076 10000079 10000084 10000087 10000093 ...\n $ edad : int [1:5245880] 74 43 36 30 44 46 55 47 45 48 ...\n $ edad_años_meses : chr [1:5245880] \"Años\" \"Años\" \"Años\" \"Años\" ...\n $ sexo : chr [1:5245880] \"F\" \"F\" \"M\" \"M\" ...\n $ carga_provincia_nombre : chr [1:5245880] \"CABA\" \"CABA\" \"Buenos Aires\" \"Buenos Aires\" ...\n $ residencia_pais_nombre : chr [1:5245880] \"Argentina\" \"Argentina\" \"Argentina\" \"Argentina\" ...\n $ residencia_provincia_nombre : chr [1:5245880] \"CABA\" \"CABA\" \"Buenos Aires\" \"Buenos Aires\" ...\n $ residencia_departamento_nombre: chr [1:5245880] \"COMUNA 09\" \"COMUNA 09\" \"Mercedes\" \"Malvinas Argentinas\" ...\n $ fecha_inicio_sintomas : Date[1:5245880], format: NA NA ...\n $ fecha_diagnostico : Date[1:5245880], format: \"2021-04-10\" \"2021-04-14\" ...\n $ fecha_internacion : Date[1:5245880], format: NA NA ...\n $ fecha_cui_intensivo : Date[1:5245880], format: NA NA ...\n $ fecha_fallecimiento : Date[1:5245880], format: NA NA ...\n $ clasificacion : chr [1:5245880] \"Caso confirmado por laboratorio - No activo (por tiempo de evolución)\" \"Caso confirmado por laboratorio - No activo (por tiempo de evolución)\" \"Caso confirmado por laboratorio - No activo (por tiempo de evolución)\" \"Caso sospechoso - No Activo - Con muestra sin resultado concluyente\" ...\n $ clasificacion_resumen : chr [1:5245880] \"Confirmado\" \"Confirmado\" \"Confirmado\" \"Sospechoso\" ...\n\n\nEn total, el dataset presenta información para 5245861 casos diferentes. Las variables disponibles se encuentran descriptas en Tabla 1 de acuerdo a la información obtenida desde fuentes oficiales. De ellas fueron elegidas un porcentaje.\nEsto va a aplicar a ambos subdatasets.\n\n\nTabla 1: Variables provistas en el dataset de la Dirección Nacional de Epidemiología y Análisis de Situación de Salud\n\n\n\n\n\n\n\nTitulo de la columna\nTipo de dato\nDescripción\n\n\n\n\nid_evento_caso\nNúmero entero (integer)\nNumero de caso\n\n\nsexo\nTexto (string)\nSexo\n\n\nedad\nNúmero entero (integer)\nEdad\n\n\nedad_años_meses\nTexto (string)\nEdad indicada en meses o años\n\n\nresidencia_pais_nombre\nTexto (string)\nPaís de residencia\n\n\nresidencia_provincia_nombre\nTexto (string)\nProvincia de residencia\n\n\nresidencia_departamento_nombre\nTexto (string)\nDepartamento de residencia\n\n\ncarga_provincia_nombre\nTexto (string)\nProvincia de establecimiento de carga\n\n\nfecha_inicio_sintomas\nFecha ISO-8601 (date)\nFecha de inicio de síntomas\n\n\nfecha_apertura\nFecha ISO-8601 (date)\nFecha de apertura del caso\n\n\nsepi_apertura\nNúmero entero (integer)\nSemana Epidemiológica de fecha de apertura\n\n\nfecha_internacion\nFecha ISO-8601 (date)\nFecha de internación\n\n\ncuidado_intensivo\nFecha ISO-8601 (date)\nFecha de ingreso a cuidado intensivo en el caso de corresponder\n\n\nfallecido\nTexto (string)\nIndicación de fallecido\n\n\nfecha_fallecimiento\nFecha ISO-8601 (date)\nFecha de fallecimiento\n\n\nasistencia_respiratoria_mecanica\nTexto (string)\nIndicación si requirió asistencia respiratoria mecánica\n\n\ncarga_provincia_id\nNúmero entero (integer)\nCódigo de Provincia de carga\n\n\norigen_financiamiento\nTexto (string)\nOrigen de financiamiento\n\n\nclasificacion\nTexto (string)\nClasificación manual del registro\n\n\nclasificacion_resumen\nTexto (string)\nClasificación del caso\n\n\nresidencia_provincia_id\nNúmero entero (integer)\nCódigo de Provincia de residencia\n\n\nfecha_diagnostico\nTiempo ISO-8601 (time)\nFecha de diagnóstico\n\n\nresidencia_departamento_id\nNúmero entero (integer)\nCódigo de Departamento de residencia\n\n\nultima_actualizacion\nFecha ISO-8601 (date)\nÚltima actualización\n\n\n\n\nDatos faltantes\nfecha_apertura (variable descartada) es la unica variable que reporta una fecha para todas las observaciones. fecha_diagnostico y fecha_inicio_sintomas NO PRESENTAN datos para todas las observaciones.\n\nsummary(covid_casos_muestra)\n\n id_evento_caso edad edad_años_meses sexo \n Min. : 733774 Min. : -84.00 Length:5245880 Length:5245880 \n 1st Qu.: 8678407 1st Qu.: 27.00 Class :character Class :character \n Median :16534314 Median : 38.00 Mode :character Mode :character \n Mean :17505517 Mean : 39.63 \n 3rd Qu.:27367564 3rd Qu.: 51.00 \n Max. :33222629 Max. :2023.00 \n NA's :1424 \n carga_provincia_nombre residencia_pais_nombre residencia_provincia_nombre\n Length:5245880 Length:5245880 Length:5245880 \n Class :character Class :character Class :character \n Mode :character Mode :character Mode :character \n \n \n \n \n residencia_departamento_nombre fecha_inicio_sintomas fecha_diagnostico \n Length:5245880 Min. :2020-01-01 Min. :1202-01-07 \n Class :character 1st Qu.:2020-12-05 1st Qu.:2021-03-20 \n Mode :character Median :2021-05-05 Median :2021-07-19 \n Mean :2021-05-13 Mean :2021-07-22 \n 3rd Qu.:2021-12-28 3rd Qu.:2022-01-13 \n Max. :2022-06-04 Max. :2022-06-04 \n NA's :2720185 NA's :825927 \n fecha_internacion fecha_cui_intensivo fecha_fallecimiento \n Min. :2020-01-01 Min. :2020-03-04 Min. :2020-03-07 \n 1st Qu.:2020-08-08 1st Qu.:2020-08-31 1st Qu.:2020-09-30 \n Median :2020-12-28 Median :2021-02-15 Median :2021-04-06 \n Mean :2021-01-18 Mean :2021-02-05 Mean :2021-03-04 \n 3rd Qu.:2021-05-24 3rd Qu.:2021-05-27 3rd Qu.:2021-06-10 \n Max. :2022-06-04 Max. :2022-06-04 Max. :2022-06-04 \n NA's :5103454 NA's :5221684 NA's :5169727 \n clasificacion clasificacion_resumen\n Length:5245880 Length:5245880 \n Class :character Class :character \n Mode :character Mode :character \n \n \n \n \n\n\n\nTotal de casos de cada clasificación para CABA y Buenos Aires\nLa provincia de Buenos Aires tiene un mayor número de casos reportados en total para el período estudiado.\n\n covid_casos_muestra |> \n filter(carga_provincia_nombre %in% c('CABA', 'Buenos Aires')) |> # este filtro tiene sentido porque considere los casos de residentes en caba y baires que fueron cargados en otras provincias tambien\n select(-1) |> \n count(carga_provincia_nombre, clasificacion_resumen) |> \n ggplot() +\n geom_col(aes(x = carga_provincia_nombre,\n y = n,\n fill = clasificacion_resumen)) +\n scale_fill_viridis_d(option = \"C\") +\n theme_minimal() +\n ylab('Cantidad de observaciones') +\n xlab('carga_provincia_nombre')\n\n\n\n\n\n\nDistribución de NAs en las distintas fechas reportadas\nDebido a que la información de movilidad ciudadana se encuentra reportada por día es importante poder obtener una fecha asociada a cada observación.\n\nfecha_diagnostico y fecha_inicio_sintomas son las variables con mayor número de observaciones y las más relevantes a nivel epidemiológico.\nfecha_cui_intensivo presenta menor cantidad de observaciones que fecha_fallecido. Esto podria ser por falta de datos o por muertes que se dieron sin llegar a internacion.\n\n\nobs_fechas <- covid_casos_muestra |> \n select(starts_with('fecha_')) |> \n pivot_longer(1:5,\n names_to = 'names',\n values_to = 'values'\n ) |> \n group_by(names) |> \n summarize(n = sum(!is.na(values))) \n\n\n ggplot(obs_fechas) +\n geom_col(aes(x = fct_reorder(names, n),\n y = n),\n fill = viridis::magma(3)[2]) +\n theme_minimal() +\n coord_flip() +\n xlab('Variables') +\n ylab('Datos presentes en la base de datos')\n\n\n\n\nCantidad de casos de COVID-19 reportados" - }, - { - "objectID": "analisis_datos_covid.html#análisis-de-fecha_inicio_sintomas-y-fecha_diagnostico", - "href": "analisis_datos_covid.html#análisis-de-fecha_inicio_sintomas-y-fecha_diagnostico", - "title": "Análisis de datos de COVID-19", - "section": "Análisis de fecha_inicio_sintomas y fecha_diagnostico", - "text": "Análisis de fecha_inicio_sintomas y fecha_diagnostico\n\ncase_both_na <- sum(is.na(covid_casos_muestra$fecha_inicio_sintomas) & is.na(covid_casos_muestra$fecha_diagnostico))\n\ncase_sintomas_na <- sum(is.na(covid_casos_muestra$fecha_inicio_sintomas) & !is.na(covid_casos_muestra$fecha_diagnostico)) \n\ncase_diagnostico_na <- sum(!is.na(covid_casos_muestra$fecha_inicio_sintomas) & is.na(covid_casos_muestra$fecha_diagnostico)) \n\ncase_both_filled <- sum(!is.na(covid_casos_muestra$fecha_inicio_sintomas) & !is.na(covid_casos_muestra$fecha_diagnostico))\n\n# Create a table with the counts\ntable_data <- data.frame(casos = c(\"ambas_columnas_na\", \"fecha_inicio_sintomas_na\", \n \"fecha_diagnostico_na\",\"ambas_columnas_completas\"),\n obs = c(case_both_na, case_sintomas_na,\n case_diagnostico_na, case_both_filled)\n) |> \n mutate(porcentaje = round((100*obs)/nrow(covid_casos_muestra), digit = 1))\n\n\n\n# chequeo que la cantidad de valores reportados en la tabla\n# equivale al total de observaciones\nif(sum(table_data$obs) == nrow(covid_casos_muestra)){\n \n kable(table_data)\n}\n\n\n\n\ncasos\nobs\nporcentaje\n\n\n\n\nambas_columnas_na\n284549\n5.4\n\n\nfecha_inicio_sintomas_na\n2435636\n46.4\n\n\nfecha_diagnostico_na\n541378\n10.3\n\n\nambas_columnas_completas\n1984317\n37.8\n\n\n\n\n\n\nCASO 1: fecha de inicio de sintomas y fecha de diagnostico no reportadas\nEsto es el 5.4 % del total de la base de datos.\nLa mayoría de estos casos son sospechosos, posibles falsos negativos.\n\ncovid_casos_muestra |> \n filter(is.na(covid_casos_muestra$fecha_inicio_sintomas) & is.na(covid_casos_muestra$fecha_diagnostico)) |> \n select(clasificacion, clasificacion_resumen) |> \n group_by(clasificacion_resumen, clasificacion) |> \n summarize(obs = n()) |> \n arrange(desc(obs)) |> \n head() |> \n kable()\n\n`summarise()` has grouped output by 'clasificacion_resumen'. You can override\nusing the `.groups` argument.\n\n\n\n\n\n\n\n\n\n\nclasificacion_resumen\nclasificacion\nobs\n\n\n\n\nSospechoso\nCaso sospechoso - No Activo - Con muestra sin resultado concluyente\n106623\n\n\nConfirmado\nCaso confirmado por criterio clínico-epidemiológico - No activo (por tiempo de evolución)\n77031\n\n\nSospechoso\nCaso sospechoso - No Activo - Sin muestra\n61349\n\n\nProbable\nCaso probable por Autotest - No Activo (por tiempo de evolución)\n23485\n\n\nProbable\nCaso probable por Autotest - Activo\n7336\n\n\nSospechoso\nCaso sospechoso - Activo Internado - Con muestra sin resultado concluyente\n2061\n\n\n\nClasificación de los casos donde fecha_inicio_sintomas y fecha_diagnostico fueron no reportadas\n\n\n\n\nCASO 2: fecha de inicio de sintomas reportada y fecha de diagnostico ausente\nEsto es el 46.4 % del total de la base de datos.\nLa mayoría de estas observaciones representan pacientes con casos confirmados por laboratorio.\n\ncovid_casos_muestra |> \n filter(is.na(covid_casos_muestra$fecha_inicio_sintomas) & !is.na(covid_casos_muestra$fecha_diagnostico)) |> \n select(clasificacion, clasificacion_resumen) |> \n group_by(clasificacion_resumen, clasificacion) |> \n summarize(obs = n()) |> \n arrange(desc(obs)) |>\n head() |> \n kable()\n\n`summarise()` has grouped output by 'clasificacion_resumen'. You can override\nusing the `.groups` argument.\n\n\n\n\n\n\n\n\n\n\nclasificacion_resumen\nclasificacion\nobs\n\n\n\n\nConfirmado\nCaso confirmado por laboratorio - No activo (por tiempo de evolución)\n2342696\n\n\nConfirmado\nCaso confirmado por laboratorio - No Activo por criterio de laboratorio\n45219\n\n\nConfirmado\nCaso confirmado por laboratorio - Activo\n27943\n\n\nConfirmado\nCaso confirmado por criterio clínico-epidemiológico - No activo (por tiempo de evolución)\n8837\n\n\nConfirmado\nCaso confirmado por laboratorio - Fallecido\n7814\n\n\nSospechoso\nCaso con resultado negativo-no conclusivo - Activo\n2097\n\n\n\nClasificación de los casos donde solo fecha_inicio_sintomas fue reportada.\n\n\n\n\nCASO 3: fecha de inicio de sintomas ausente y fecha de diagnostico reportada\nEsto es el % del total de la base de datos.\nEn este caso, en su mayoria son los casos que fueron confirmados por criterio clínico-epidemiologico.\n\ncovid_casos_muestra |> \n filter(!is.na(covid_casos_muestra$fecha_inicio_sintomas) & is.na(covid_casos_muestra$fecha_diagnostico)) |> \n select(clasificacion, clasificacion_resumen) |> \n group_by(clasificacion_resumen, clasificacion) |> \n summarize(obs = n()) |> \n arrange(desc(obs)) |> \n head() |> \n kable()\n\n`summarise()` has grouped output by 'clasificacion_resumen'. You can override\nusing the `.groups` argument.\n\n\n\n\n\n\n\n\n\n\nclasificacion_resumen\nclasificacion\nobs\n\n\n\n\nConfirmado\nCaso confirmado por criterio clínico-epidemiológico - No activo (por tiempo de evolución)\n268559\n\n\nSospechoso\nCaso sospechoso - No Activo - Sin muestra\n130728\n\n\nSospechoso\nCaso sospechoso - No Activo - Con muestra sin resultado concluyente\n109266\n\n\nSospechoso\nCaso sospechoso - Activo Internado - Sin muestra\n11534\n\n\nSospechoso\nCaso sospechoso - Activo Internado - Con muestra sin resultado concluyente\n10104\n\n\nConfirmado\nCaso confirmado por criterio clínico - epidemiológico - Activo internado\n3803\n\n\n\nClasificación de los casos donde solo fecha_diagnostico fue reportada.\n\n\n\n\nCASO 4: fecha de inicio de sintomas y fecha de diagnostico reportadas\nEsto es el 37.8 % del total de la base de datos.\nEn este caso, en su mayoría son los casos que fueron confirmados por laboratorio.\n\ncovid_casos_muestra |> \n filter(!is.na(covid_casos_muestra$fecha_inicio_sintomas) & !is.na(covid_casos_muestra$fecha_diagnostico)) |> \n select(clasificacion, clasificacion_resumen) |> \n group_by(clasificacion_resumen, clasificacion) |> \n summarize(obs = n()) |> \n arrange(desc(obs)) |> \n head() |> \n kable()\n\n`summarise()` has grouped output by 'clasificacion_resumen'. You can override\nusing the `.groups` argument.\n\n\n\n\n\n\n\n\n\n\nclasificacion_resumen\nclasificacion\nobs\n\n\n\n\nConfirmado\nCaso confirmado por laboratorio - No activo (por tiempo de evolución)\n1825253\n\n\nConfirmado\nCaso confirmado por laboratorio - Fallecido\n64442\n\n\nConfirmado\nCaso confirmado por laboratorio - No Activo por criterio de laboratorio\n50849\n\n\nConfirmado\nCaso confirmado por criterio clínico-epidemiológico - No activo (por tiempo de evolución)\n35131\n\n\nConfirmado\nCaso confirmado por laboratorio - Activo\n4687\n\n\nSospechoso\nCaso con resultado negativo-no conclusivo - Activo\n1054\n\n\n\nClasificación de los casos donde fecha_inicio_sintomas y fecha_diagnostico fueron reportadas.\n\n\n\nDiferencia de días entre fecha_inicio_sintomas y fecha_diagnostico\n\ndif_dias_total_casos <- covid_casos_muestra |> \n dplyr::filter(carga_provincia_nombre %in% c('CABA', 'Buenos Aires')) |> \n mutate(dias_caso = as.numeric(difftime(fecha_diagnostico, # time1\n fecha_inicio_sintomas, # time2\n units=\"days\"))) # logica: time1 - time2\n\ndif_dias <- dif_dias_total_casos |> \n dplyr::filter(!is.na(fecha_inicio_sintomas) & !is.na(fecha_diagnostico)) # CASO 4\n\ndif_dias\n\n# A tibble: 1,973,695 × 16\n id_evento_caso edad edad_años_meses sexo carga_provincia_nombre\n <int> <int> <chr> <chr> <chr> \n 1 10000079 55 Años M Buenos Aires \n 2 10000084 47 Años M Buenos Aires \n 3 10000087 45 Años F Buenos Aires \n 4 10000093 48 Años M Buenos Aires \n 5 10000099 54 Años F Buenos Aires \n 6 1000012 48 Años M CABA \n 7 10000143 50 Años M Buenos Aires \n 8 1000015 31 Años F Buenos Aires \n 9 10000157 25 Años M Buenos Aires \n10 10000187 32 Años M Buenos Aires \n# ℹ 1,973,685 more rows\n# ℹ 11 more variables: residencia_pais_nombre <chr>,\n# residencia_provincia_nombre <chr>, residencia_departamento_nombre <chr>,\n# fecha_inicio_sintomas <date>, fecha_diagnostico <date>,\n# fecha_internacion <date>, fecha_cui_intensivo <date>,\n# fecha_fallecimiento <date>, clasificacion <chr>,\n# clasificacion_resumen <chr>, dias_caso <dbl>\n\n\nLos casos tienen un rango que va del positivo al negativo.\n\nrange(dif_dias$dias_caso)\n\n[1] -7304 828\n\n\nSi grafico, observo que la gran mayoria de los casos cae entre 0 a 10 dias.\n\nggplotly(\ndif_dias |> \n filter(dias_caso < 30, dias_caso > -7) |> \n group_by(dias_caso, carga_provincia_nombre) |> \n count() |> \n ggplot(aes(x = dias_caso,\n y = n,\n fill = carga_provincia_nombre)) +\n geom_col() +\n scale_fill_viridis_d()+\n theme_minimal() +\n ylab('Cantidad de observaciones') +\n xlab('Diferencia entre fecha_inicio_sintomas y fecha_diagnostico')\n\n)\n\n\n\nPeríodo entre fecha_inicio_sintomas y fecha_diagnostico reportado para Buenos Aires y CABA, en los casos donde ambos valores fueron reportados" - }, - { - "objectID": "analisis_datos_covid.html#base-de-datos-final", - "href": "analisis_datos_covid.html#base-de-datos-final", - "title": "Análisis de datos de COVID-19", - "section": "Base de datos final", - "text": "Base de datos final\n\nDebido a que los datos de movilidad ciudadana solo son para el año 2020, se limita la base a ese periodo.\nConsiderando los casos descriptos anteriormente se tomaran las decisiones resumidas Tabla 2 para la creación de una nueva variable fecha_enfermo:\n\n\n\nTabla 2: Desiciones para la creación de la variable fecha_enfermo\n\n\n\n\n\n\n\nCaso\nDescripcion\nfecha_enfermo\n\n\n\n\n1\nfecha_inicio_sintomas y fecha_diagnostico no reportadas\nRemover casos\n\n\n2\nfecha_inicio_sintomas reportada y fecha_diagnostico ausente\nSe considera fecha_diagnostico\n\n\n3\nfecha_inicio_sintomas ausente y fecha_diagnostico reportada\nSe considera fecha_inicio_sintomas\n\n\n4\nfecha_inicio_sintomas y fecha_diagnostico reportadas\nSe conserva fecha_inicio_sintoma\n\n\n\n\n\nPara el caso 4, se eliminaron tambien los casos donde la diferencia entre fecha_inicio_sintomas y fecha_diagnostico era mayor a 30 o menor a -7.\n\n\n# periodo de analisis\ncovid_inicio <- ymd(\"2020-03-01\")\ncovid_final <- ymd(\"2022-03-31\")\n\nperiodo <- function(x) {\n covid_inicio <= x & covid_final >= x\n}\n\ncovid_casos_muestra <- covid_casos_muestra |> \n filter(if_all(starts_with('fecha_'),\n ~ is.na(.x) | covid_inicio <= .x & covid_final >= .x)) \n\nbase_covid_completa <- dif_dias_total_casos |> \n # elimino casos donde la diferencia de dias entre \n # fecha de sintomas y diagnostico es muy extrema\n filter(dias_caso < 30,\n dias_caso > -7) |> \n mutate(fecha_enfermo = case_when(\n # CASO 1\n !is.na(fecha_inicio_sintomas) &\n !is.na(fecha_diagnostico) ~ as.character(fecha_inicio_sintomas),\n # CASO 2\n is.na(fecha_inicio_sintomas) & \n !is.na(fecha_diagnostico) ~ as.character(fecha_diagnostico),\n # CASO 3\n !is.na(fecha_inicio_sintomas) &\n is.na(fecha_diagnostico) ~ as.character(fecha_inicio_sintomas),\n # CASO 4\n is.na(fecha_inicio_sintomas) &\n is.na(fecha_diagnostico) ~ NA_character_)) |> \n filter(fecha_enfermo <= as.Date('2020-12-31'),\n fecha_enfermo >= as.Date('2020-03-01')) \n\n\nbase_covid_completa <- base_covid_completa |> \n drop_na(fecha_enfermo) # remuevo el caso 1\n\nhead(base_covid_completa)\n\n# A tibble: 6 × 17\n id_evento_caso edad edad_años_meses sexo carga_provincia_nombre\n <int> <int> <chr> <chr> <chr> \n1 1000012 48 Años M CABA \n2 1000015 31 Años F Buenos Aires \n3 1000024 63 Años M CABA \n4 1000025 23 Años M Buenos Aires \n5 1000037 77 Años F CABA \n6 1000052 31 Años F Buenos Aires \n# ℹ 12 more variables: residencia_pais_nombre <chr>,\n# residencia_provincia_nombre <chr>, residencia_departamento_nombre <chr>,\n# fecha_inicio_sintomas <date>, fecha_diagnostico <date>,\n# fecha_internacion <date>, fecha_cui_intensivo <date>,\n# fecha_fallecimiento <date>, clasificacion <chr>,\n# clasificacion_resumen <chr>, dias_caso <dbl>, fecha_enfermo <chr>\n\n# guardo la base\nwrite_parquet(base_covid_completa, \"data/procesada/covid_casos_baires_geocovid.parquet\")" - }, { "objectID": "creacion_mapa_bsas.html", "href": "creacion_mapa_bsas.html", @@ -41,41 +6,6 @@ "section": "", "text": "Input inicial - Mapas vectoriales de provincia de Buenos Aires y AMBA\nObjetivo - Generar mapas de menor tamaño para que la aplicacion no tenga problemas de eficiencia. - Producir un mapa de Buenos Aires dónde no se diferencien las comunas de CABA. - Obtener los centroides de los departamentos de provincia de Buenos Aires\n\n\nlibrary(tidyverse)\n\n── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──\n✔ dplyr 1.1.2 ✔ readr 2.1.4\n✔ forcats 1.0.0 ✔ stringr 1.5.0\n✔ ggplot2 3.4.3 ✔ tibble 3.2.1\n✔ lubridate 1.9.2 ✔ tidyr 1.3.0\n✔ purrr 1.0.1 \n── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──\n✖ dplyr::filter() masks stats::filter()\n✖ dplyr::lag() masks stats::lag()\nℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors\n\nlibrary(stringr)\nlibrary(sf)\n\nLinking to GEOS 3.11.0, GDAL 3.5.3, PROJ 9.1.0; sf_use_s2() is TRUE\n\n# El amba consta de 40 municipios mas ciudad de buenos aires\n# fuente: https://www.argentina.gob.ar/dami/centro/amba\n# Vamos a hacer una seleccion de amba con menos partidos\n\n# Lista de los partidos que vamos a considerar AMBA incluyendo comunas CABA\namba_reducido_names <- c('Almirante Brown',\n 'Avellaneda',\n 'Berazategui',\n paste('Comuna', 1:15), # CABA\n 'Esteban Echeverría', 'Escobar', 'Ezeiza',\n 'Florencio Varela',\n 'General San Martín',\n 'Hurlingham',\n 'Ituzaingó',\n 'José C. Paz',\n 'La Matanza', 'Lanús', 'Lomas de Zamora',\n 'Malvinas Argentinas', 'Merlo', 'Moreno', 'Morón',\n 'Quilmes', 'Pilar', 'Presidente Perón',\n 'San Fernando', 'San Isidro', 'San Miguel',\n 'Tigre', 'Tres de Febrero',\n 'Vicente López')\n\n\nArea Metropolitana de Buenos Aires (AMBA) y Ciudad Autonoma de Buenos Aires (CABA)\n\n# Estos shapefiles fueron extraidos del Instituto Geografico Nacional (IGN)\n\namba <- st_read(\"data/inicial/departamentos.shp\") |>\n st_zm() |>\n filter(str_detect(NAM, paste(amba_reducido_names, collapse = \"|\")),\n SAG %in% c('ARBA - Gerencia de Servicios Catastrales',\n 'Direc. de Catastro'))\n\nReading layer `departamentos' from data source \n `/Users/florenciadandrea/geocovid_bsas/data/inicial/departamentos.shp' \n using driver `ESRI Shapefile'\nSimple feature collection with 529 features and 10 fields\nGeometry type: MULTIPOLYGON\nDimension: XY, XYZ\nBounding box: xmin: -74 ymin: -90 xmax: -25 ymax: -21.78113\nz_range: zmin: 0 zmax: 0\nGeodetic CRS: WGS 84\n\n# Chequeo el resultado visualmente\namba_reducido <- amba |>\n dplyr::select('partido' = NAM , geometry) |>\n dplyr::filter(partido %in% amba_reducido_names)\n\nggplot() +\n geom_sf(data = amba_reducido)+\n theme_minimal()\n\n\n\n\n\nRemuevo poligonos duplicados\n\n# Vemos que San Fernando esta compuesto por dos poligonos,\n# Uno es el delta, y deberiamos eliminarlo\n\nggplot() +\n geom_sf(data = subset(amba_reducido,\n partido == 'San Fernando'))+\n theme_minimal()\n\n\n\n# Lo paso a poligono para eliminar el extra\namba_reducido = st_cast(amba_reducido,\"POLYGON\")\n\nWarning in st_cast.sf(amba_reducido, \"POLYGON\"): repeating attributes for all\nsub-geometries for which they may not be constant\n\n# Chequeo que se cual quiero eliminar\nggplot() +\n geom_sf(data = amba_reducido$geom[30])+\n theme_minimal()\n\n\n\n# Elimino el poligono extra\namba_reducido <- amba_reducido[-30,]\n\n# Archivo vectorial final de AMBA\nggplot() +\n geom_sf(data = amba_reducido)+\n theme_minimal()\n\n\n\n\nEste es el archivo con los poligonos finales seleccionados para AMBA\n\n## guardo el archivo\n\nst_write(amba, \"data/procesada/amba_ampliado.gpkg\", append = FALSE)\n\nDeleting layer `amba_ampliado' using driver `GPKG'\nWriting layer `amba_ampliado' to data source \n `data/procesada/amba_ampliado.gpkg' using driver `GPKG'\nWriting 42 features with 10 fields and geometry type Multi Polygon.\n\n\n\n\n\nProvincia de Buenos Aires\n\n# Obtengo los poligonos desde el IGN\nbsas <- sf::st_read('data/inicial/departamentos.shp') |>\n dplyr::filter(SAG %in% c('Direc. de Catastro', # comunas\n 'ARBA - Gerencia de Servicios Catastrales'), # partidos de baires\n GNA %in% c('Partido', 'Comuna')) |> # elimino prov de san juan\n dplyr::select('partido' = NAM, geometry) |>\n sf::st_zm()\n\nReading layer `departamentos' from data source \n `/Users/florenciadandrea/geocovid_bsas/data/inicial/departamentos.shp' \n using driver `ESRI Shapefile'\nSimple feature collection with 529 features and 10 fields\nGeometry type: MULTIPOLYGON\nDimension: XY, XYZ\nBounding box: xmin: -74 ymin: -90 xmax: -25 ymax: -21.78113\nz_range: zmin: 0 zmax: 0\nGeodetic CRS: WGS 84\n\n# Lo paso a poligono para eliminar el extra en San Fernando\nbsas = st_cast(bsas,\"POLYGON\")\n\nWarning in st_cast.sf(bsas, \"POLYGON\"): repeating attributes for all\nsub-geometries for which they may not be constant\n\n# Chequeo el numero de poligono que quiero eliminar\nggplot() +\n geom_sf(data = bsas$geometry[126])+\n theme_minimal()\n\n\n\n# Elimino el poligono extra\nbsas <- bsas[-126,]\n\n# Mapa final\nggplot() +\n geom_sf(data = bsas)+\n theme_minimal()\n\n\n\nwrite_sf(bsas, 'data/procesada/bsas.gpkg')\n\n\nUnifico las comunas\n\n # uno las comunas\n caba <- bsas[grep(\"Comuna\", bsas$partido), ] |>\n st_union()\n\n # aca podria agregar algun tipo de control de calidad para asegurarme que\n # tengo la cantidad de comunas que son\n # chequear que tenga proyeccion\n\n\n # las reemplazo en el dataset por caba\n bsas_caba <- bsas |>\n slice(-grep(\"Comuna\", bsas$partido)) |>\n rbind(st_sf(\n geometry = caba,\n partido = 'Capital Federal'\n ))\n\n\n\n ggplot() +\n geom_sf(data = subset(bsas_caba,\n partido == 'Capital Federal')) + \n theme_minimal()\n\n\n\nwrite_sf(bsas_caba, 'data/procesada/bsas_caba.gpkg')\n\n\n\nSimplifico los poligonos para agilizar la app\n\nbsas_caba <- st_read('data/procesada/bsas_caba.gpkg')\n\nReading layer `bsas_caba' from data source \n `/Users/florenciadandrea/geocovid_bsas/data/procesada/bsas_caba.gpkg' \n using driver `GPKG'\nSimple feature collection with 136 features and 1 field\nGeometry type: POLYGON\nDimension: XY\nBounding box: xmin: -63.38597 ymin: -41.03791 xmax: -56.66499 ymax: -33.26185\nGeodetic CRS: WGS 84\n\n# Es posible emplear la funcion st_simplify para esto mismo, pero no conserva\n# tan bien la topografia entre los poligonos, es por ello que uso este paquete\n# donde se aplica el algoritmo de Visvalingam\n\nlibrary(rmapshaper)\nbsas_caba_simple <- rmapshaper::ms_simplify(bsas_caba)\n\nst_write(bsas_caba_simple, \"data/procesada/bsas_caba_simple.gpkg\", append=FALSE)\n\nDeleting layer `bsas_caba_simple' using driver `GPKG'\nWriting layer `bsas_caba_simple' to data source \n `data/procesada/bsas_caba_simple.gpkg' using driver `GPKG'\nWriting 136 features with 1 fields and geometry type Polygon.\n\n\n\n\nCalculo de centroides\n\ncent <- bsas_caba_simple |> \n st_point_on_surface()\n\nWarning: st_point_on_surface assumes attributes are constant over geometries\n\n\nWarning in st_point_on_surface.sfc(st_geometry(x)): st_point_on_surface may not\ngive correct results for longitude/latitude data\n\n# guardo el archivo con los vectores de partidos de provincia de Buenos Aires\n\nggplot() +\n geom_sf(data = bsas_caba)+\n geom_sf(data = cent) +\n theme_minimal()\n\n\n\n# guardo los centroides\nst_write(cent, \"data/procesada/centroides_mapa.gpkg\", append=FALSE)\n\nDeleting layer `centroides_mapa' using driver `GPKG'\nWriting layer `centroides_mapa' to data source \n `data/procesada/centroides_mapa.gpkg' using driver `GPKG'\nWriting 136 features with 1 fields and geometry type Point." }, - { - "objectID": "index.html", - "href": "index.html", - "title": "", - "section": "", - "text": "Este repositorio contiene cuatro reportes que recopilan el procesamiento de los datos de COVID-19, movilidad ciudadana, mapas vectoriales e imágenes raster para provincia de Buenos Aires en el marco de la creación de la aplicación GeoCovid app Buenos Aires.\n\n\n\n\n\nLos mapas de las comunas de Ciudad Autónoma de Buenos Aires fueron descargados de BA Data, mientras que los poligonos correspondientes a los partidos de provincia de Buenos Aires se descargaron del Instituto Geográfico Nacional Argentino.\n\n\n\n\n\nSe analizaron unicamente datos para prov. de Buenos Aires.\nSe crean nuevas variables para su uso en GeoCovid app.\nArchivo historico de casos de COVID-19 registrados desde el 01/03/2020 hasta el 04/06/2022 - Dirección Nacional de Epidemiología y Análisis de Situación de Salud.\nEstos datos son públicos y fueron consultados en Julio de 2023 en www.datos.salud.gob.ar.\n\n\n\n\n\nLos datos de movilidad ciudadana fueron brindados por Data for Good - Meta\nEl procesamiento de los datos y la generacion de los rasters fue realizado usando el paquete quadkeyr.\n\n\n\n\n\nLos datos de movilidad ciudadana fueron brindados por Data for Good - Meta y se promediaron para los mapas vectoriales de prov. de Buenos Aires mencionados en el punto 1.\n\n\n\n\n\nEl paquete quadkeyr, GeoCovid Buenos Aires y GeoCovid App son parte del mismo proyecto.\n\nPaquete quadkeyr Permite el analisis de datos de movilidad ciudadana de Meta y su conversión a imagenes raster.\nGeoCovid app Dashboard que permite la visualización de datos de COVID-19 y movilidad ciudadana en conjunto.\n\n\n\n\n\nEl código contenido en este repositorio se encuentra bajo una licencia MIT.\nEl informe contenido en este documento es compartido bajo una licencia Atribución-NoComercial-CompartirIgual 4.0 Internacional. Consulte el archivo de licencia para obtener más información. Si reutiliza información de este reporte proporcione la atribución y el enlace a esta página web empleando esta cita:\n\n\nD’Andrea, F. GeoCovid Buenos Aires [Computer software]. Dr. Fernandez Lab. Washington State University. https://github.com/Fernandez-Lab-WSU/geocovid_bsas\n\n\n\n\nEl proyecto GeoCovid Buenos Aires, GeoCovid app y el paquete quadkeyr se encuentran bajo un Código de Conducta." - }, - { - "objectID": "index.html#reportes", - "href": "index.html#reportes", - "title": "", - "section": "", - "text": "Los mapas de las comunas de Ciudad Autónoma de Buenos Aires fueron descargados de BA Data, mientras que los poligonos correspondientes a los partidos de provincia de Buenos Aires se descargaron del Instituto Geográfico Nacional Argentino.\n\n\n\n\n\nSe analizaron unicamente datos para prov. de Buenos Aires.\nSe crean nuevas variables para su uso en GeoCovid app.\nArchivo historico de casos de COVID-19 registrados desde el 01/03/2020 hasta el 04/06/2022 - Dirección Nacional de Epidemiología y Análisis de Situación de Salud.\nEstos datos son públicos y fueron consultados en Julio de 2023 en www.datos.salud.gob.ar.\n\n\n\n\n\nLos datos de movilidad ciudadana fueron brindados por Data for Good - Meta\nEl procesamiento de los datos y la generacion de los rasters fue realizado usando el paquete quadkeyr.\n\n\n\n\n\nLos datos de movilidad ciudadana fueron brindados por Data for Good - Meta y se promediaron para los mapas vectoriales de prov. de Buenos Aires mencionados en el punto 1." - }, - { - "objectID": "index.html#proyectos-relacionados", - "href": "index.html#proyectos-relacionados", - "title": "", - "section": "", - "text": "El paquete quadkeyr, GeoCovid Buenos Aires y GeoCovid App son parte del mismo proyecto.\n\nPaquete quadkeyr Permite el analisis de datos de movilidad ciudadana de Meta y su conversión a imagenes raster.\nGeoCovid app Dashboard que permite la visualización de datos de COVID-19 y movilidad ciudadana en conjunto." - }, - { - "objectID": "index.html#licencias", - "href": "index.html#licencias", - "title": "", - "section": "", - "text": "El código contenido en este repositorio se encuentra bajo una licencia MIT.\nEl informe contenido en este documento es compartido bajo una licencia Atribución-NoComercial-CompartirIgual 4.0 Internacional. Consulte el archivo de licencia para obtener más información. Si reutiliza información de este reporte proporcione la atribución y el enlace a esta página web empleando esta cita:\n\n\nD’Andrea, F. GeoCovid Buenos Aires [Computer software]. Dr. Fernandez Lab. Washington State University. https://github.com/Fernandez-Lab-WSU/geocovid_bsas" - }, - { - "objectID": "index.html#código-de-conducta", - "href": "index.html#código-de-conducta", - "title": "", - "section": "", - "text": "El proyecto GeoCovid Buenos Aires, GeoCovid app y el paquete quadkeyr se encuentran bajo un Código de Conducta." - }, { "objectID": "CODIGO_DE_CONDUCTA.html", "href": "CODIGO_DE_CONDUCTA.html", @@ -132,34 +62,6 @@ "section": "", "text": "Este Código de Conducta es una adaptación del Contributor Covenant, versión 1.4, disponible en https://www.contributor-covenant.org/es/version/1/4/code-of-conduct.html" }, - { - "objectID": "calculo_movilidad_por_departamento.html", - "href": "calculo_movilidad_por_departamento.html", - "title": "Cálculo de movilidad por departamento de la provincia", - "section": "", - "text": "Input inicial - Imagenes rasters .tif de cambio porcentual semanal y prepandemia para locación, dia y horario reportado generadas en ‘Creacion de rasters’.\nObjetivo - Obtener un dataset con los valores promedio de movilidad ciudadana tanto para cambio porcentual semanal como prepandemia, en cada locación y momento en el que haya disponible una imagen raster. - Nueva variable que promedie los valores de cambio porcentual semanal como prepandemia para mañana y tarde, ya que se asume que deberían ser similares." - }, - { - "objectID": "calculo_movilidad_por_departamento.html#guardo-información-de-los-rasters-en-un-dataset", - "href": "calculo_movilidad_por_departamento.html#guardo-información-de-los-rasters-en-un-dataset", - "title": "Cálculo de movilidad por departamento de la provincia", - "section": "1. Guardo información de los rasters en un dataset", - "text": "1. Guardo información de los rasters en un dataset\nGenero una base de datos con los polígonos de los departamentos de provincia de Buenos Aires y la ubicación de los archivos en el sistema.\n\n# Leo todos los archivos de la carpeta\nall_files <- list.files(\"data/inicial/\")\n\n# Filtro los archivos que terminan con '.tif'\nbase_raster <- all_files[grep(\".tif$\",\n basename(all_files))] |>\n tibble::as_tibble() |>\n tidyr::separate(value,\n into = c('locacion',\n 'tipo_de_raster',\n 'fecha',\n 'hora'),\n sep = '_',\n remove = FALSE) |>\n dplyr::mutate(fecha = as.Date(fecha),\n hora = as.numeric(str_sub(hora, end= -4))) |>\n dplyr::mutate(momento = dplyr::case_when(hora == 0 ~ \"noche\",\n hora == 8 ~ \"mañana\",\n hora == 16 ~ \"tarde\"))\n\n# Format the date to \"YYYY-MM-DD\" format\nformatted_date <- format(\"2020-05-10\", format = \"%Y-%m-%d\")\n\nbsas <- sf::st_read(\"data/procesada/bsas_caba_simple.gpkg\")\n\nReading layer `bsas_caba_simple' from data source \n `/Users/florenciadandrea/geocovid_bsas/data/procesada/bsas_caba_simple.gpkg' \n using driver `GPKG'\nSimple feature collection with 136 features and 1 field\nGeometry type: POLYGON\nDimension: XY\nBounding box: xmin: -63.38597 ymin: -41.03785 xmax: -56.66503 ymax: -33.26185\nGeodetic CRS: WGS 84\n\nbase_raster_baires <- base_raster |>\n dplyr::filter(locacion == 'baires') |> #elimina valores de amba que coinciden\n dplyr::cross_join(bsas) |>\n dplyr::mutate(file = paste0('data/inicial/', value)) |>\n sf::st_as_sf()" - }, - { - "objectID": "calculo_movilidad_por_departamento.html#promedio-de-valores-de-movilidad-ciudadana-por-departamento-de-bs.-as.", - "href": "calculo_movilidad_por_departamento.html#promedio-de-valores-de-movilidad-ciudadana-por-departamento-de-bs.-as.", - "title": "Cálculo de movilidad por departamento de la provincia", - "section": "2. Promedio de valores de movilidad ciudadana por departamento de Bs. As.", - "text": "2. Promedio de valores de movilidad ciudadana por departamento de Bs. As.\n\nEsto lo realizamos tanto para los rasters de 0 am (noche), 8 am (mañana) y tarde (4 pm).\nSe crea una variable, px_mean_dianoche, que promedia los valores de mañana (8 am) y tarde (4 pm).\n\n\npx_baires <- c()\n\nfor(i in 1:nrow(base_raster_baires)){\n\n\n # cada fila corresponde a un partido diferente\n poli <- sf::st_as_sf(base_raster_baires[i, c('partido','geom')]) |>\n st_transform(3857)\n \n # si bien el raster va a ser el mismo en muchos casos\n raster <- terra::rast(base_raster_baires$file[i])\n crs(raster) <- \"epsg:3857\"\n\n\n int_data2 <- terra::extract( raster,\n sf::st_as_sf(poli),\n fun = mean,\n na.rm = TRUE)\n\n\n px_data <- data.frame(base_raster_baires[i,],\n 'px_mean' = int_data2[[2]] \n )\n\n px_baires <- rbind(px_data, px_baires)\n}\n\npx_baires_w <- px_baires |>\n select(fecha, locacion, tipo_de_raster, \n momento, hora, partido, px_mean, geom) |>\n pivot_wider(\n names_from = c(momento, hora),\n values_from = px_mean) |> # esto habria que\n mutate(px_mean_dianoche = ((mañana_8 + tarde_16)/2))\n\n\npx_baires_w \n\n# A tibble: 272 × 9\n fecha locacion tipo_de_raster partido geom mañana_8\n <date> <chr> <chr> <chr> <POLYGON [°]> <dbl>\n 1 2020-05-06 baires pc Capita… ((-58.44692 -34.68878, -… -8.45\n 2 2020-05-06 baires pc Avella… ((-58.27964 -34.67864, -… 5.46\n 3 2020-05-06 baires pc Lomas … ((-58.34696 -34.73934, -… 5.10\n 4 2020-05-06 baires pc Lanús ((-58.40254 -34.65999, -… 5.16\n 5 2020-05-06 baires pc Pergam… ((-60.45691 -33.59848, -… 4.59\n 6 2020-05-06 baires pc Floren… ((-62.34816 -34.65378, -… 2.89\n 7 2020-05-06 baires pc San Pe… ((-59.80947 -33.58342, -… 3.97\n 8 2020-05-06 baires pc Barade… ((-59.22272 -33.81343, -… 4.05\n 9 2020-05-06 baires pc Corone… ((-61.72849 -38.65709, -… 5.73\n10 2020-05-06 baires pc Patago… ((-63.38327 -39.32849, -… 4.29\n# ℹ 262 more rows\n# ℹ 3 more variables: tarde_16 <dbl>, noche_0 <dbl>, px_mean_dianoche <dbl>\n\n\nLas variables px_mean_dianoche y noche_0 se convierten en categóricas.\n\n px_bsas <- px_baires_w |>\n dplyr::filter(fecha == '2020-05-06',\n tipo_de_raster == 'pc'\n ) |>\n dplyr::mutate(criterio = case_when(px_mean_dianoche > 40 ~ \"mas de 40\",\n 40 > px_mean_dianoche &\n px_mean_dianoche > 30 ~ \"40 - 30\",\n 30 > px_mean_dianoche &\n px_mean_dianoche > 20 ~ \"30 - 20\",\n 20 > px_mean_dianoche &\n px_mean_dianoche > 10 ~ \"20 - 10\",\n 10 > px_mean_dianoche & \n px_mean_dianoche > 1 ~ \"10 - 1\",\n 1 > px_mean_dianoche &\n px_mean_dianoche> -1 ~ \"sin cambios\",\n -1 > px_mean_dianoche& \n px_mean_dianoche > -10 ~ \"-1 - -10\",\n -10 > px_mean_dianoche& \n px_mean_dianoche > -20 ~ \"-10 - -20\",\n -20 > px_mean_dianoche& \n px_mean_dianoche > -30 ~ \"-20 - -30\",\n -30 > px_mean_dianoche& \n px_mean_dianoche > -40 ~ \"-30 - -40\",\n -40 > px_mean_dianoche ~ \"menor a -40\"),\n criterio_noche = case_when(noche_0 > 40 ~ \"mas de 40\",\n 40 > noche_0 &\n noche_0 > 30 ~ \"40 - 30\",\n 30 > noche_0 &\n noche_0 > 20 ~ \"30 - 20\",\n 20 > noche_0 &\n noche_0 > 10 ~ \"20 - 10\",\n 10 > noche_0 &\n noche_0 > 1 ~ \"10 - 1\",\n 1 > noche_0 &\n noche_0> -1 ~ \"sin cambios\",\n -1 > noche_0 &\n noche_0 > -10 ~ \"-1 - -10\",\n -10 > noche_0 &\n noche_0 > -20 ~ \"-10 - -20\",\n -20 > noche_0 &\n noche_0 > -30 ~ \"-20 - -30\",\n -30 > noche_0 &\n noche_0 > -40 ~ \"-30 - -40\",\n -40 > noche_0 ~ \"menor a -40\")) |>\n dplyr::mutate(criterio = fct_relevel(criterio, c(\"mas de 40\", \n \"40 - 30\",\n \"30 - 20\",\n \"20 - 10\",\"10 - 1\",\n \"sin cambios\",\n \"-1 - -10\", \n \"-10 - -20\",\n \"-20 - -30\", \n \"-30 - -40\",\n \"menor a -40\")),\n criterio_noche = fct_relevel(criterio_noche, \n c(\"mas de 40\", \n \"40 - 30\",\n \"30 - 20\",\n \"20 - 10\",\n \"10 - 1\",\n \"sin cambios\",\n \"-1 - -10\", \n \"-10 - -20\",\n \"-20 - -30\", \n \"-30 - -40\",\n \"menor a -40\"))) |>\n st_as_sf()\n\nWarning: There were 2 warnings in `dplyr::mutate()`.\nThe first warning was:\nℹ In argument: `criterio = fct_relevel(...)`.\nCaused by warning:\n! 4 unknown levels in `f`: mas de 40, 40 - 30, 30 - 20, and -20 - -30\nℹ Run `dplyr::last_dplyr_warnings()` to see the 1 remaining warning." - }, - { - "objectID": "calculo_movilidad_por_departamento.html#mapa-de-provincia-de-buenos-aires", - "href": "calculo_movilidad_por_departamento.html#mapa-de-provincia-de-buenos-aires", - "title": "Cálculo de movilidad por departamento de la provincia", - "section": "3. Mapa de provincia de Buenos Aires", - "text": "3. Mapa de provincia de Buenos Aires\n\n# escala de color por categoria\n\n colors <- c(\"mas de 40\"=\"#67001F\",\n \"40 - 30\"=\"#B2182B\",\n \"30 - 20\"=\"#D6604D\",\n \"20 - 10\"=\"#F4A582\",\n \"10 - 1\"=\"#FDDBC7\",\n \"sin cambios\"=\"#F7F7F7\",\n \"-1 - -10\" =\"#D1E5F0\",\n \"-10 - -20\"=\"#92C5DE\",\n \"-20 - -30\"=\"#4393C3\",\n \"-30 - -40\"=\"#2166AC\",\n \"menor a -40\"=\"#053061\")\n\n\n plotly::plot_ly() |>\n plotly::add_sf(stroke = I(\"#95B2C6\"),\n data = px_bsas,\n split = ~criterio,\n name = ~criterio,\n color = ~criterio,\n colors = colors,\n stroke = I(\"transparent\"),\n hoveron = \"fills\",\n hoverinfo = 'name',\n legendgroup = 'criterio',\n legendgrouptitle = list(text = 'Promedio % de cambio',\n font = list(size = 15,\n family = \"Work Sans\",\n color = \"black\"))\n ) \n\nNo trace type specified:\n Based on info supplied, a 'scatter' trace seems appropriate.\n Read more about this trace type -> https://plotly.com/r/reference/#scatter" - }, { "objectID": "creacion_de_rasters.html", "href": "creacion_de_rasters.html", @@ -208,5 +110,103 @@ "title": "Creación de imagenes raster", "section": "5. Generar los rasters para las variables de interés", "text": "5. Generar los rasters para las variables de interés\nLa función apply_weekly_lag() permite generar los datos de cambio porcentual semanal creando un lag de 7 días.\n\npolyvar <- files |>\n dplyr::inner_join(polygrid, by = 'quadkey' ) |>\n apply_weekly_lag() \n\npolyvar7 <- polyvar |>\n drop_na(percent_change_7)\n\nLoas imagenes raster se crearan automaticamente para todos los archivos en la carpeta con el formato <nombre>_<fecha>_<hora>.tif. La función polygon_to_raster va a crear los raster incluso si hay algún archivo de la serie faltante.\n\n# cambio porcentual prepandemia\npolygon_to_raster(data = polyvar,\n nx = grid$num_cols +1 ,\n ny = grid$num_rows +1 ,\n template = polyvar,\n variable = 'percent_change',\n filename = 'Baires',\n path = \"data/\"\n )\n\n# cambio porcentual semanal\npolygon_to_raster(data = polyvar7,\n nx = grid$num_cols +1 ,\n ny = grid$num_rows +1 ,\n template = polyvar7,\n variable = 'percent_change_7',\n filename = 'Baires',\n path = \"data/\"\n )" + }, + { + "objectID": "index.html", + "href": "index.html", + "title": "", + "section": "", + "text": "Este repositorio contiene cuatro reportes que recopilan el procesamiento de los datos de COVID-19, movilidad ciudadana, mapas vectoriales e imágenes raster para provincia de Buenos Aires en el marco de la creación de la aplicación GeoCovid app Buenos Aires.\n\n\n\n\n\nLos mapas de las comunas de Ciudad Autónoma de Buenos Aires fueron descargados de BA Data, mientras que los poligonos correspondientes a los partidos de provincia de Buenos Aires se descargaron del Instituto Geográfico Nacional Argentino.\n\n\n\n\n\nSe analizaron unicamente datos para prov. de Buenos Aires.\nSe crean nuevas variables para su uso en GeoCovid app.\nArchivo historico de casos de COVID-19 registrados desde el 01/03/2020 hasta el 04/06/2022 - Dirección Nacional de Epidemiología y Análisis de Situación de Salud.\nEstos datos son públicos y fueron consultados en Julio de 2023 en www.datos.salud.gob.ar.\n\n\n\n\n\nLos datos de movilidad ciudadana fueron brindados por Data for Good - Meta\nEl procesamiento de los datos y la generacion de los rasters fue realizado usando el paquete quadkeyr.\n\n\n\n\n\nLos datos de movilidad ciudadana fueron brindados por Data for Good - Meta y se promediaron para los mapas vectoriales de prov. de Buenos Aires mencionados en el punto 1.\n\n\n\n\n\nEl paquete quadkeyr, GeoCovid Buenos Aires y GeoCovid App son parte del mismo proyecto.\n\nPaquete quadkeyr Permite el analisis de datos de movilidad ciudadana de Meta y su conversión a imagenes raster.\nGeoCovid app Dashboard que permite la visualización de datos de COVID-19 y movilidad ciudadana en conjunto.\n\n\n\n\n\nEl código contenido en este repositorio se encuentra bajo una licencia MIT.\nEl informe contenido en este documento es compartido bajo una licencia Atribución-NoComercial-CompartirIgual 4.0 Internacional. Consulte el archivo de licencia para obtener más información. Si reutiliza información de este reporte proporcione la atribución y el enlace a esta página web empleando esta cita:\n\n\nD’Andrea, F. GeoCovid Buenos Aires [Computer software]. Dr. Fernandez Lab. Washington State University. https://github.com/Fernandez-Lab-WSU/geocovid_bsas\n\n\n\n\nEl proyecto GeoCovid Buenos Aires, GeoCovid app y el paquete quadkeyr se encuentran bajo un Código de Conducta." + }, + { + "objectID": "index.html#reportes", + "href": "index.html#reportes", + "title": "", + "section": "", + "text": "Los mapas de las comunas de Ciudad Autónoma de Buenos Aires fueron descargados de BA Data, mientras que los poligonos correspondientes a los partidos de provincia de Buenos Aires se descargaron del Instituto Geográfico Nacional Argentino.\n\n\n\n\n\nSe analizaron unicamente datos para prov. de Buenos Aires.\nSe crean nuevas variables para su uso en GeoCovid app.\nArchivo historico de casos de COVID-19 registrados desde el 01/03/2020 hasta el 04/06/2022 - Dirección Nacional de Epidemiología y Análisis de Situación de Salud.\nEstos datos son públicos y fueron consultados en Julio de 2023 en www.datos.salud.gob.ar.\n\n\n\n\n\nLos datos de movilidad ciudadana fueron brindados por Data for Good - Meta\nEl procesamiento de los datos y la generacion de los rasters fue realizado usando el paquete quadkeyr.\n\n\n\n\n\nLos datos de movilidad ciudadana fueron brindados por Data for Good - Meta y se promediaron para los mapas vectoriales de prov. de Buenos Aires mencionados en el punto 1." + }, + { + "objectID": "index.html#proyectos-relacionados", + "href": "index.html#proyectos-relacionados", + "title": "", + "section": "", + "text": "El paquete quadkeyr, GeoCovid Buenos Aires y GeoCovid App son parte del mismo proyecto.\n\nPaquete quadkeyr Permite el analisis de datos de movilidad ciudadana de Meta y su conversión a imagenes raster.\nGeoCovid app Dashboard que permite la visualización de datos de COVID-19 y movilidad ciudadana en conjunto." + }, + { + "objectID": "index.html#licencias", + "href": "index.html#licencias", + "title": "", + "section": "", + "text": "El código contenido en este repositorio se encuentra bajo una licencia MIT.\nEl informe contenido en este documento es compartido bajo una licencia Atribución-NoComercial-CompartirIgual 4.0 Internacional. Consulte el archivo de licencia para obtener más información. Si reutiliza información de este reporte proporcione la atribución y el enlace a esta página web empleando esta cita:\n\n\nD’Andrea, F. GeoCovid Buenos Aires [Computer software]. Dr. Fernandez Lab. Washington State University. https://github.com/Fernandez-Lab-WSU/geocovid_bsas" + }, + { + "objectID": "index.html#código-de-conducta", + "href": "index.html#código-de-conducta", + "title": "", + "section": "", + "text": "El proyecto GeoCovid Buenos Aires, GeoCovid app y el paquete quadkeyr se encuentran bajo un Código de Conducta." + }, + { + "objectID": "calculo_movilidad_por_departamento.html", + "href": "calculo_movilidad_por_departamento.html", + "title": "Cálculo de movilidad por departamento de la provincia", + "section": "", + "text": "Input inicial - Imagenes rasters .tif de cambio porcentual semanal y prepandemia para locación, dia y horario reportado generadas en ‘Creacion de rasters’.\nObjetivo - Obtener un dataset con los valores promedio de movilidad ciudadana tanto para cambio porcentual semanal como prepandemia, en cada locación y momento en el que haya disponible una imagen raster. - Nueva variable que promedie los valores de cambio porcentual semanal como prepandemia para mañana y tarde, ya que se asume que deberían ser similares." + }, + { + "objectID": "calculo_movilidad_por_departamento.html#guardo-información-de-los-rasters-en-un-dataset", + "href": "calculo_movilidad_por_departamento.html#guardo-información-de-los-rasters-en-un-dataset", + "title": "Cálculo de movilidad por departamento de la provincia", + "section": "1. Guardo información de los rasters en un dataset", + "text": "1. Guardo información de los rasters en un dataset\nGenero una base de datos con los polígonos de los departamentos de provincia de Buenos Aires y la ubicación de los archivos en el sistema.\n\n# Leo todos los archivos de la carpeta\nall_files <- list.files(\"data/inicial/\")\n\n# Filtro los archivos que terminan con '.tif'\nbase_raster <- all_files[grep(\".tif$\",\n basename(all_files))] |>\n tibble::as_tibble() |>\n tidyr::separate(value,\n into = c('locacion',\n 'tipo_de_raster',\n 'fecha',\n 'hora'),\n sep = '_',\n remove = FALSE) |>\n dplyr::mutate(fecha = as.Date(fecha),\n hora = as.numeric(str_sub(hora, end= -4))) |>\n dplyr::mutate(momento = dplyr::case_when(hora == 0 ~ \"noche\",\n hora == 8 ~ \"mañana\",\n hora == 16 ~ \"tarde\"))\n\n# Format the date to \"YYYY-MM-DD\" format\nformatted_date <- format(\"2020-05-10\", format = \"%Y-%m-%d\")\n\nbsas <- sf::st_read(\"data/procesada/bsas_caba_simple.gpkg\")\n\nReading layer `bsas_caba_simple' from data source \n `/Users/florenciadandrea/geocovid_bsas/data/procesada/bsas_caba_simple.gpkg' \n using driver `GPKG'\nSimple feature collection with 136 features and 1 field\nGeometry type: POLYGON\nDimension: XY\nBounding box: xmin: -63.38597 ymin: -41.03785 xmax: -56.66503 ymax: -33.26185\nGeodetic CRS: WGS 84\n\nbase_raster_baires <- base_raster |>\n dplyr::filter(locacion == 'baires') |> #elimina valores de amba que coinciden\n dplyr::cross_join(bsas) |>\n dplyr::mutate(file = paste0('data/inicial/', value)) |>\n sf::st_as_sf()" + }, + { + "objectID": "calculo_movilidad_por_departamento.html#promedio-de-valores-de-movilidad-ciudadana-por-departamento-de-bs.-as.", + "href": "calculo_movilidad_por_departamento.html#promedio-de-valores-de-movilidad-ciudadana-por-departamento-de-bs.-as.", + "title": "Cálculo de movilidad por departamento de la provincia", + "section": "2. Promedio de valores de movilidad ciudadana por departamento de Bs. As.", + "text": "2. Promedio de valores de movilidad ciudadana por departamento de Bs. As.\n\nEsto lo realizamos tanto para los rasters de 0 am (noche), 8 am (mañana) y tarde (4 pm).\nSe crea una variable, px_mean_dianoche, que promedia los valores de mañana (8 am) y tarde (4 pm).\n\n\npx_baires <- c()\n\nfor(i in 1:nrow(base_raster_baires)){\n\n\n # cada fila corresponde a un partido diferente\n poli <- sf::st_as_sf(base_raster_baires[i, c('partido','geom')]) |>\n st_transform(3857)\n \n # si bien el raster va a ser el mismo en muchos casos\n raster <- terra::rast(base_raster_baires$file[i])\n crs(raster) <- \"epsg:3857\"\n\n\n int_data2 <- terra::extract( raster,\n sf::st_as_sf(poli),\n fun = mean,\n na.rm = TRUE)\n\n\n px_data <- data.frame(base_raster_baires[i,],\n 'px_mean' = int_data2[[2]] \n )\n\n px_baires <- rbind(px_data, px_baires)\n}\n\npx_baires_w <- px_baires |>\n select(fecha, locacion, tipo_de_raster, \n momento, hora, partido, px_mean, geom) |>\n pivot_wider(\n names_from = c(momento, hora),\n values_from = px_mean) |> # esto habria que\n mutate(px_mean_dianoche = ((mañana_8 + tarde_16)/2))\n\n\npx_baires_w \n\n# A tibble: 272 × 9\n fecha locacion tipo_de_raster partido geom mañana_8\n <date> <chr> <chr> <chr> <POLYGON [°]> <dbl>\n 1 2020-05-06 baires pc Capita… ((-58.44692 -34.68878, -… -8.45\n 2 2020-05-06 baires pc Avella… ((-58.27964 -34.67864, -… 5.46\n 3 2020-05-06 baires pc Lomas … ((-58.34696 -34.73934, -… 5.10\n 4 2020-05-06 baires pc Lanús ((-58.40254 -34.65999, -… 5.16\n 5 2020-05-06 baires pc Pergam… ((-60.45691 -33.59848, -… 4.59\n 6 2020-05-06 baires pc Floren… ((-62.34816 -34.65378, -… 2.89\n 7 2020-05-06 baires pc San Pe… ((-59.80947 -33.58342, -… 3.97\n 8 2020-05-06 baires pc Barade… ((-59.22272 -33.81343, -… 4.05\n 9 2020-05-06 baires pc Corone… ((-61.72849 -38.65709, -… 5.73\n10 2020-05-06 baires pc Patago… ((-63.38327 -39.32849, -… 4.29\n# ℹ 262 more rows\n# ℹ 3 more variables: tarde_16 <dbl>, noche_0 <dbl>, px_mean_dianoche <dbl>\n\n\nLas variables px_mean_dianoche y noche_0 se convierten en categóricas.\n\n px_bsas <- px_baires_w |>\n dplyr::filter(fecha == '2020-05-06',\n tipo_de_raster == 'pc'\n ) |>\n dplyr::mutate(criterio = case_when(px_mean_dianoche > 40 ~ \"mas de 40\",\n 40 > px_mean_dianoche &\n px_mean_dianoche > 30 ~ \"40 - 30\",\n 30 > px_mean_dianoche &\n px_mean_dianoche > 20 ~ \"30 - 20\",\n 20 > px_mean_dianoche &\n px_mean_dianoche > 10 ~ \"20 - 10\",\n 10 > px_mean_dianoche & \n px_mean_dianoche > 1 ~ \"10 - 1\",\n 1 > px_mean_dianoche &\n px_mean_dianoche> -1 ~ \"sin cambios\",\n -1 > px_mean_dianoche& \n px_mean_dianoche > -10 ~ \"-1 - -10\",\n -10 > px_mean_dianoche& \n px_mean_dianoche > -20 ~ \"-10 - -20\",\n -20 > px_mean_dianoche& \n px_mean_dianoche > -30 ~ \"-20 - -30\",\n -30 > px_mean_dianoche& \n px_mean_dianoche > -40 ~ \"-30 - -40\",\n -40 > px_mean_dianoche ~ \"menor a -40\"),\n criterio_noche = case_when(noche_0 > 40 ~ \"mas de 40\",\n 40 > noche_0 &\n noche_0 > 30 ~ \"40 - 30\",\n 30 > noche_0 &\n noche_0 > 20 ~ \"30 - 20\",\n 20 > noche_0 &\n noche_0 > 10 ~ \"20 - 10\",\n 10 > noche_0 &\n noche_0 > 1 ~ \"10 - 1\",\n 1 > noche_0 &\n noche_0> -1 ~ \"sin cambios\",\n -1 > noche_0 &\n noche_0 > -10 ~ \"-1 - -10\",\n -10 > noche_0 &\n noche_0 > -20 ~ \"-10 - -20\",\n -20 > noche_0 &\n noche_0 > -30 ~ \"-20 - -30\",\n -30 > noche_0 &\n noche_0 > -40 ~ \"-30 - -40\",\n -40 > noche_0 ~ \"menor a -40\")) |>\n dplyr::mutate(criterio = fct_relevel(criterio, c(\"mas de 40\", \n \"40 - 30\",\n \"30 - 20\",\n \"20 - 10\",\"10 - 1\",\n \"sin cambios\",\n \"-1 - -10\", \n \"-10 - -20\",\n \"-20 - -30\", \n \"-30 - -40\",\n \"menor a -40\")),\n criterio_noche = fct_relevel(criterio_noche, \n c(\"mas de 40\", \n \"40 - 30\",\n \"30 - 20\",\n \"20 - 10\",\n \"10 - 1\",\n \"sin cambios\",\n \"-1 - -10\", \n \"-10 - -20\",\n \"-20 - -30\", \n \"-30 - -40\",\n \"menor a -40\"))) |>\n st_as_sf()\n\nWarning: There were 2 warnings in `dplyr::mutate()`.\nThe first warning was:\nℹ In argument: `criterio = fct_relevel(...)`.\nCaused by warning:\n! 4 unknown levels in `f`: mas de 40, 40 - 30, 30 - 20, and -20 - -30\nℹ Run `dplyr::last_dplyr_warnings()` to see the 1 remaining warning." + }, + { + "objectID": "calculo_movilidad_por_departamento.html#mapa-de-provincia-de-buenos-aires", + "href": "calculo_movilidad_por_departamento.html#mapa-de-provincia-de-buenos-aires", + "title": "Cálculo de movilidad por departamento de la provincia", + "section": "3. Mapa de provincia de Buenos Aires", + "text": "3. Mapa de provincia de Buenos Aires\n\n# escala de color por categoria\n\n colors <- c(\"mas de 40\"=\"#67001F\",\n \"40 - 30\"=\"#B2182B\",\n \"30 - 20\"=\"#D6604D\",\n \"20 - 10\"=\"#F4A582\",\n \"10 - 1\"=\"#FDDBC7\",\n \"sin cambios\"=\"#F7F7F7\",\n \"-1 - -10\" =\"#D1E5F0\",\n \"-10 - -20\"=\"#92C5DE\",\n \"-20 - -30\"=\"#4393C3\",\n \"-30 - -40\"=\"#2166AC\",\n \"menor a -40\"=\"#053061\")\n\n\n plotly::plot_ly() |>\n plotly::add_sf(stroke = I(\"#95B2C6\"),\n data = px_bsas,\n split = ~criterio,\n name = ~criterio,\n color = ~criterio,\n colors = colors,\n stroke = I(\"transparent\"),\n hoveron = \"fills\",\n hoverinfo = 'name',\n legendgroup = 'criterio',\n legendgrouptitle = list(text = 'Promedio % de cambio',\n font = list(size = 15,\n family = \"Work Sans\",\n color = \"black\"))\n ) \n\nNo trace type specified:\n Based on info supplied, a 'scatter' trace seems appropriate.\n Read more about this trace type -> https://plotly.com/r/reference/#scatter" + }, + { + "objectID": "analisis_datos_covid.html", + "href": "analisis_datos_covid.html", + "title": "Análisis de datos de COVID-19", + "section": "", + "text": "Input inicial Base de datos csv pública de casos de COVID-19 en Argentina.\nObjetivo Obtener una base de datos limplia y lista de usar en GeoCovid app: - Cada observación debe tener una fecha de contagio/enfermedad.\n── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──\n✔ dplyr 1.1.2 ✔ readr 2.1.4\n✔ forcats 1.0.0 ✔ stringr 1.5.0\n✔ ggplot2 3.4.3 ✔ tibble 3.2.1\n✔ lubridate 1.9.2 ✔ tidyr 1.3.0\n✔ purrr 1.0.1 \n── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──\n✖ dplyr::filter() masks stats::filter()\n✖ dplyr::lag() masks stats::lag()\nℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors\n\nAttaching package: 'arrow'\n\n\nThe following object is masked from 'package:lubridate':\n\n duration\n\n\nThe following object is masked from 'package:utils':\n\n timestamp\n\n\n\nAttaching package: 'plotly'\n\n\nThe following object is masked from 'package:arrow':\n\n schema\n\n\nThe following object is masked from 'package:ggplot2':\n\n last_plot\n\n\nThe following object is masked from 'package:stats':\n\n filter\n\n\nThe following object is masked from 'package:graphics':\n\n layout" + }, + { + "objectID": "analisis_datos_covid.html#carga-de-los-datos-y-análisis-inicial", + "href": "analisis_datos_covid.html#carga-de-los-datos-y-análisis-inicial", + "title": "Análisis de datos de COVID-19", + "section": "Carga de los datos y análisis inicial", + "text": "Carga de los datos y análisis inicial\n\n# Leo el archivo como csv. Esta en Dropbox ya que es bastante grande.\ncovid_data <- arrow::open_dataset(\"/Users/florenciadandrea/Dropbox/data_geocovid/Covid19Casos.csv\", \n format = 'csv')\n\n# Elijo que datos voy a descargar usando dplyr. \n# Los datos no se bajan hasta que uso collect()\n\ncovid_casos_muestra <- covid_data |> \n filter(clasificacion_resumen != 'Descartado',\n carga_provincia_nombre %in% c('CABA', 'Buenos Aires') | residencia_provincia_nombre %in% c('CABA', 'Buenos Aires')) |>\n select(id_evento_caso,\n edad, edad_años_meses, sexo,\n carga_provincia_nombre,\n residencia_pais_nombre, residencia_provincia_nombre, residencia_departamento_nombre,\n fecha_inicio_sintomas, fecha_diagnostico, fecha_internacion, fecha_cui_intensivo, fecha_fallecimiento,\n clasificacion, clasificacion_resumen) |> \n collect()\n\n# Los guardo en formato parquet para reducir el tamaño\n# write_parquet(covid_casos_muestra, \"../data/covid_casos/covid_casos_baires.parquet\")\n\nComposición del dataset:\n\ncovid_casos_muestra <- read_parquet(\"data/inicial/covid_casos_baires.parquet\")\nstr(covid_casos_muestra)\n\ntibble [5,245,880 × 15] (S3: tbl_df/tbl/data.frame)\n $ id_evento_caso : int [1:5245880] 10000049 10000055 10000057 1000006 10000066 10000076 10000079 10000084 10000087 10000093 ...\n $ edad : int [1:5245880] 74 43 36 30 44 46 55 47 45 48 ...\n $ edad_años_meses : chr [1:5245880] \"Años\" \"Años\" \"Años\" \"Años\" ...\n $ sexo : chr [1:5245880] \"F\" \"F\" \"M\" \"M\" ...\n $ carga_provincia_nombre : chr [1:5245880] \"CABA\" \"CABA\" \"Buenos Aires\" \"Buenos Aires\" ...\n $ residencia_pais_nombre : chr [1:5245880] \"Argentina\" \"Argentina\" \"Argentina\" \"Argentina\" ...\n $ residencia_provincia_nombre : chr [1:5245880] \"CABA\" \"CABA\" \"Buenos Aires\" \"Buenos Aires\" ...\n $ residencia_departamento_nombre: chr [1:5245880] \"COMUNA 09\" \"COMUNA 09\" \"Mercedes\" \"Malvinas Argentinas\" ...\n $ fecha_inicio_sintomas : Date[1:5245880], format: NA NA ...\n $ fecha_diagnostico : Date[1:5245880], format: \"2021-04-10\" \"2021-04-14\" ...\n $ fecha_internacion : Date[1:5245880], format: NA NA ...\n $ fecha_cui_intensivo : Date[1:5245880], format: NA NA ...\n $ fecha_fallecimiento : Date[1:5245880], format: NA NA ...\n $ clasificacion : chr [1:5245880] \"Caso confirmado por laboratorio - No activo (por tiempo de evolución)\" \"Caso confirmado por laboratorio - No activo (por tiempo de evolución)\" \"Caso confirmado por laboratorio - No activo (por tiempo de evolución)\" \"Caso sospechoso - No Activo - Con muestra sin resultado concluyente\" ...\n $ clasificacion_resumen : chr [1:5245880] \"Confirmado\" \"Confirmado\" \"Confirmado\" \"Sospechoso\" ...\n\n\nEn total, el dataset presenta información para 5245861 casos diferentes. Las variables disponibles se encuentran descriptas en Tabla 1 de acuerdo a la información obtenida desde fuentes oficiales. De ellas fueron elegidas un porcentaje.\nEsto va a aplicar a ambos subdatasets.\n\n\nTabla 1: Variables provistas en el dataset de la Dirección Nacional de Epidemiología y Análisis de Situación de Salud\n\n\n\n\n\n\n\nTitulo de la columna\nTipo de dato\nDescripción\n\n\n\n\nid_evento_caso\nNúmero entero (integer)\nNumero de caso\n\n\nsexo\nTexto (string)\nSexo\n\n\nedad\nNúmero entero (integer)\nEdad\n\n\nedad_años_meses\nTexto (string)\nEdad indicada en meses o años\n\n\nresidencia_pais_nombre\nTexto (string)\nPaís de residencia\n\n\nresidencia_provincia_nombre\nTexto (string)\nProvincia de residencia\n\n\nresidencia_departamento_nombre\nTexto (string)\nDepartamento de residencia\n\n\ncarga_provincia_nombre\nTexto (string)\nProvincia de establecimiento de carga\n\n\nfecha_inicio_sintomas\nFecha ISO-8601 (date)\nFecha de inicio de síntomas\n\n\nfecha_apertura\nFecha ISO-8601 (date)\nFecha de apertura del caso\n\n\nsepi_apertura\nNúmero entero (integer)\nSemana Epidemiológica de fecha de apertura\n\n\nfecha_internacion\nFecha ISO-8601 (date)\nFecha de internación\n\n\ncuidado_intensivo\nFecha ISO-8601 (date)\nFecha de ingreso a cuidado intensivo en el caso de corresponder\n\n\nfallecido\nTexto (string)\nIndicación de fallecido\n\n\nfecha_fallecimiento\nFecha ISO-8601 (date)\nFecha de fallecimiento\n\n\nasistencia_respiratoria_mecanica\nTexto (string)\nIndicación si requirió asistencia respiratoria mecánica\n\n\ncarga_provincia_id\nNúmero entero (integer)\nCódigo de Provincia de carga\n\n\norigen_financiamiento\nTexto (string)\nOrigen de financiamiento\n\n\nclasificacion\nTexto (string)\nClasificación manual del registro\n\n\nclasificacion_resumen\nTexto (string)\nClasificación del caso\n\n\nresidencia_provincia_id\nNúmero entero (integer)\nCódigo de Provincia de residencia\n\n\nfecha_diagnostico\nTiempo ISO-8601 (time)\nFecha de diagnóstico\n\n\nresidencia_departamento_id\nNúmero entero (integer)\nCódigo de Departamento de residencia\n\n\nultima_actualizacion\nFecha ISO-8601 (date)\nÚltima actualización\n\n\n\n\nDatos faltantes\nfecha_apertura (variable descartada) es la unica variable que reporta una fecha para todas las observaciones. fecha_diagnostico y fecha_inicio_sintomas NO PRESENTAN datos para todas las observaciones.\n\nsummary(covid_casos_muestra)\n\n id_evento_caso edad edad_años_meses sexo \n Min. : 733774 Min. : -84.00 Length:5245880 Length:5245880 \n 1st Qu.: 8678407 1st Qu.: 27.00 Class :character Class :character \n Median :16534314 Median : 38.00 Mode :character Mode :character \n Mean :17505517 Mean : 39.63 \n 3rd Qu.:27367564 3rd Qu.: 51.00 \n Max. :33222629 Max. :2023.00 \n NA's :1424 \n carga_provincia_nombre residencia_pais_nombre residencia_provincia_nombre\n Length:5245880 Length:5245880 Length:5245880 \n Class :character Class :character Class :character \n Mode :character Mode :character Mode :character \n \n \n \n \n residencia_departamento_nombre fecha_inicio_sintomas fecha_diagnostico \n Length:5245880 Min. :2020-01-01 Min. :1202-01-07 \n Class :character 1st Qu.:2020-12-05 1st Qu.:2021-03-20 \n Mode :character Median :2021-05-05 Median :2021-07-19 \n Mean :2021-05-13 Mean :2021-07-22 \n 3rd Qu.:2021-12-28 3rd Qu.:2022-01-13 \n Max. :2022-06-04 Max. :2022-06-04 \n NA's :2720185 NA's :825927 \n fecha_internacion fecha_cui_intensivo fecha_fallecimiento \n Min. :2020-01-01 Min. :2020-03-04 Min. :2020-03-07 \n 1st Qu.:2020-08-08 1st Qu.:2020-08-31 1st Qu.:2020-09-30 \n Median :2020-12-28 Median :2021-02-15 Median :2021-04-06 \n Mean :2021-01-18 Mean :2021-02-05 Mean :2021-03-04 \n 3rd Qu.:2021-05-24 3rd Qu.:2021-05-27 3rd Qu.:2021-06-10 \n Max. :2022-06-04 Max. :2022-06-04 Max. :2022-06-04 \n NA's :5103454 NA's :5221684 NA's :5169727 \n clasificacion clasificacion_resumen\n Length:5245880 Length:5245880 \n Class :character Class :character \n Mode :character Mode :character \n \n \n \n \n\n\n\nTotal de casos de cada clasificación para CABA y Buenos Aires\nLa provincia de Buenos Aires tiene un mayor número de casos reportados en total para el período estudiado.\n\n covid_casos_muestra |> \n filter(carga_provincia_nombre %in% c('CABA', 'Buenos Aires')) |> # este filtro tiene sentido porque considere los casos de residentes en caba y baires que fueron cargados en otras provincias tambien\n select(-1) |> \n count(carga_provincia_nombre, clasificacion_resumen) |> \n ggplot() +\n geom_col(aes(x = carga_provincia_nombre,\n y = n,\n fill = clasificacion_resumen)) +\n scale_fill_viridis_d(option = \"C\") +\n theme_minimal() +\n ylab('Cantidad de observaciones') +\n xlab('carga_provincia_nombre')\n\n\n\n\n\n\nDistribución de NAs en las distintas fechas reportadas\nDebido a que la información de movilidad ciudadana se encuentra reportada por día es importante poder obtener una fecha asociada a cada observación.\n\nfecha_diagnostico y fecha_inicio_sintomas son las variables con mayor número de observaciones y las más relevantes a nivel epidemiológico.\nfecha_cui_intensivo presenta menor cantidad de observaciones que fecha_fallecido. Esto podria ser por falta de datos o por muertes que se dieron sin llegar a internacion.\n\n\nobs_fechas <- covid_casos_muestra |> \n select(starts_with('fecha_')) |> \n pivot_longer(1:5,\n names_to = 'names',\n values_to = 'values'\n ) |> \n group_by(names) |> \n summarize(n = sum(!is.na(values))) \n\n\n ggplot(obs_fechas) +\n geom_col(aes(x = fct_reorder(names, n),\n y = n),\n fill = viridis::magma(3)[2]) +\n theme_minimal() +\n coord_flip() +\n xlab('Variables') +\n ylab('Datos presentes en la base de datos')\n\n\n\n\nCantidad de casos de COVID-19 reportados" + }, + { + "objectID": "analisis_datos_covid.html#análisis-de-fecha_inicio_sintomas-y-fecha_diagnostico", + "href": "analisis_datos_covid.html#análisis-de-fecha_inicio_sintomas-y-fecha_diagnostico", + "title": "Análisis de datos de COVID-19", + "section": "Análisis de fecha_inicio_sintomas y fecha_diagnostico", + "text": "Análisis de fecha_inicio_sintomas y fecha_diagnostico\n\ncase_both_na <- sum(is.na(covid_casos_muestra$fecha_inicio_sintomas) & is.na(covid_casos_muestra$fecha_diagnostico))\n\ncase_sintomas_na <- sum(is.na(covid_casos_muestra$fecha_inicio_sintomas) & !is.na(covid_casos_muestra$fecha_diagnostico)) \n\ncase_diagnostico_na <- sum(!is.na(covid_casos_muestra$fecha_inicio_sintomas) & is.na(covid_casos_muestra$fecha_diagnostico)) \n\ncase_both_filled <- sum(!is.na(covid_casos_muestra$fecha_inicio_sintomas) & !is.na(covid_casos_muestra$fecha_diagnostico))\n\n# Create a table with the counts\ntable_data <- data.frame(casos = c(\"ambas_columnas_na\", \"fecha_inicio_sintomas_na\", \n \"fecha_diagnostico_na\",\"ambas_columnas_completas\"),\n obs = c(case_both_na, case_sintomas_na,\n case_diagnostico_na, case_both_filled)\n) |> \n mutate(porcentaje = round((100*obs)/nrow(covid_casos_muestra), digit = 1))\n\n\n\n# chequeo que la cantidad de valores reportados en la tabla\n# equivale al total de observaciones\nif(sum(table_data$obs) == nrow(covid_casos_muestra)){\n \n kable(table_data)\n}\n\n\n\n\ncasos\nobs\nporcentaje\n\n\n\n\nambas_columnas_na\n284549\n5.4\n\n\nfecha_inicio_sintomas_na\n2435636\n46.4\n\n\nfecha_diagnostico_na\n541378\n10.3\n\n\nambas_columnas_completas\n1984317\n37.8\n\n\n\n\n\n\nCASO 1: fecha de inicio de sintomas y fecha de diagnostico no reportadas\nEsto es el 5.4 % del total de la base de datos.\nLa mayoría de estos casos son sospechosos, posibles falsos negativos.\n\ncovid_casos_muestra |> \n filter(is.na(covid_casos_muestra$fecha_inicio_sintomas) & is.na(covid_casos_muestra$fecha_diagnostico)) |> \n select(clasificacion, clasificacion_resumen) |> \n group_by(clasificacion_resumen, clasificacion) |> \n summarize(obs = n()) |> \n arrange(desc(obs)) |> \n head() |> \n kable()\n\n`summarise()` has grouped output by 'clasificacion_resumen'. You can override\nusing the `.groups` argument.\n\n\n\n\n\n\n\n\n\n\nclasificacion_resumen\nclasificacion\nobs\n\n\n\n\nSospechoso\nCaso sospechoso - No Activo - Con muestra sin resultado concluyente\n106623\n\n\nConfirmado\nCaso confirmado por criterio clínico-epidemiológico - No activo (por tiempo de evolución)\n77031\n\n\nSospechoso\nCaso sospechoso - No Activo - Sin muestra\n61349\n\n\nProbable\nCaso probable por Autotest - No Activo (por tiempo de evolución)\n23485\n\n\nProbable\nCaso probable por Autotest - Activo\n7336\n\n\nSospechoso\nCaso sospechoso - Activo Internado - Con muestra sin resultado concluyente\n2061\n\n\n\nClasificación de los casos donde fecha_inicio_sintomas y fecha_diagnostico fueron no reportadas\n\n\n\n\nCASO 2: fecha de inicio de sintomas reportada y fecha de diagnostico ausente\nEsto es el 46.4 % del total de la base de datos.\nLa mayoría de estas observaciones representan pacientes con casos confirmados por laboratorio.\n\ncovid_casos_muestra |> \n filter(is.na(covid_casos_muestra$fecha_inicio_sintomas) & !is.na(covid_casos_muestra$fecha_diagnostico)) |> \n select(clasificacion, clasificacion_resumen) |> \n group_by(clasificacion_resumen, clasificacion) |> \n summarize(obs = n()) |> \n arrange(desc(obs)) |>\n head() |> \n kable()\n\n`summarise()` has grouped output by 'clasificacion_resumen'. You can override\nusing the `.groups` argument.\n\n\n\n\n\n\n\n\n\n\nclasificacion_resumen\nclasificacion\nobs\n\n\n\n\nConfirmado\nCaso confirmado por laboratorio - No activo (por tiempo de evolución)\n2342696\n\n\nConfirmado\nCaso confirmado por laboratorio - No Activo por criterio de laboratorio\n45219\n\n\nConfirmado\nCaso confirmado por laboratorio - Activo\n27943\n\n\nConfirmado\nCaso confirmado por criterio clínico-epidemiológico - No activo (por tiempo de evolución)\n8837\n\n\nConfirmado\nCaso confirmado por laboratorio - Fallecido\n7814\n\n\nSospechoso\nCaso con resultado negativo-no conclusivo - Activo\n2097\n\n\n\nClasificación de los casos donde solo fecha_inicio_sintomas fue reportada.\n\n\n\n\nCASO 3: fecha de inicio de sintomas ausente y fecha de diagnostico reportada\nEsto es el % del total de la base de datos.\nEn este caso, en su mayoria son los casos que fueron confirmados por criterio clínico-epidemiologico.\n\ncovid_casos_muestra |> \n filter(!is.na(covid_casos_muestra$fecha_inicio_sintomas) & is.na(covid_casos_muestra$fecha_diagnostico)) |> \n select(clasificacion, clasificacion_resumen) |> \n group_by(clasificacion_resumen, clasificacion) |> \n summarize(obs = n()) |> \n arrange(desc(obs)) |> \n head() |> \n kable()\n\n`summarise()` has grouped output by 'clasificacion_resumen'. You can override\nusing the `.groups` argument.\n\n\n\n\n\n\n\n\n\n\nclasificacion_resumen\nclasificacion\nobs\n\n\n\n\nConfirmado\nCaso confirmado por criterio clínico-epidemiológico - No activo (por tiempo de evolución)\n268559\n\n\nSospechoso\nCaso sospechoso - No Activo - Sin muestra\n130728\n\n\nSospechoso\nCaso sospechoso - No Activo - Con muestra sin resultado concluyente\n109266\n\n\nSospechoso\nCaso sospechoso - Activo Internado - Sin muestra\n11534\n\n\nSospechoso\nCaso sospechoso - Activo Internado - Con muestra sin resultado concluyente\n10104\n\n\nConfirmado\nCaso confirmado por criterio clínico - epidemiológico - Activo internado\n3803\n\n\n\nClasificación de los casos donde solo fecha_diagnostico fue reportada.\n\n\n\n\nCASO 4: fecha de inicio de sintomas y fecha de diagnostico reportadas\nEsto es el 37.8 % del total de la base de datos.\nEn este caso, en su mayoría son los casos que fueron confirmados por laboratorio.\n\ncovid_casos_muestra |> \n filter(!is.na(covid_casos_muestra$fecha_inicio_sintomas) & !is.na(covid_casos_muestra$fecha_diagnostico)) |> \n select(clasificacion, clasificacion_resumen) |> \n group_by(clasificacion_resumen, clasificacion) |> \n summarize(obs = n()) |> \n arrange(desc(obs)) |> \n head() |> \n kable()\n\n`summarise()` has grouped output by 'clasificacion_resumen'. You can override\nusing the `.groups` argument.\n\n\n\n\n\n\n\n\n\n\nclasificacion_resumen\nclasificacion\nobs\n\n\n\n\nConfirmado\nCaso confirmado por laboratorio - No activo (por tiempo de evolución)\n1825253\n\n\nConfirmado\nCaso confirmado por laboratorio - Fallecido\n64442\n\n\nConfirmado\nCaso confirmado por laboratorio - No Activo por criterio de laboratorio\n50849\n\n\nConfirmado\nCaso confirmado por criterio clínico-epidemiológico - No activo (por tiempo de evolución)\n35131\n\n\nConfirmado\nCaso confirmado por laboratorio - Activo\n4687\n\n\nSospechoso\nCaso con resultado negativo-no conclusivo - Activo\n1054\n\n\n\nClasificación de los casos donde fecha_inicio_sintomas y fecha_diagnostico fueron reportadas.\n\n\n\nDiferencia de días entre fecha_inicio_sintomas y fecha_diagnostico\n\ndif_dias_total_casos <- covid_casos_muestra |> \n dplyr::filter(carga_provincia_nombre %in% c('CABA', 'Buenos Aires')) |> \n mutate(dias_caso = as.numeric(difftime(fecha_diagnostico, # time1\n fecha_inicio_sintomas, # time2\n units=\"days\"))) # logica: time1 - time2\n\ndif_dias <- dif_dias_total_casos |> \n dplyr::filter(!is.na(fecha_inicio_sintomas) & !is.na(fecha_diagnostico)) # CASO 4\n\ndif_dias\n\n# A tibble: 1,973,695 × 16\n id_evento_caso edad edad_años_meses sexo carga_provincia_nombre\n <int> <int> <chr> <chr> <chr> \n 1 10000079 55 Años M Buenos Aires \n 2 10000084 47 Años M Buenos Aires \n 3 10000087 45 Años F Buenos Aires \n 4 10000093 48 Años M Buenos Aires \n 5 10000099 54 Años F Buenos Aires \n 6 1000012 48 Años M CABA \n 7 10000143 50 Años M Buenos Aires \n 8 1000015 31 Años F Buenos Aires \n 9 10000157 25 Años M Buenos Aires \n10 10000187 32 Años M Buenos Aires \n# ℹ 1,973,685 more rows\n# ℹ 11 more variables: residencia_pais_nombre <chr>,\n# residencia_provincia_nombre <chr>, residencia_departamento_nombre <chr>,\n# fecha_inicio_sintomas <date>, fecha_diagnostico <date>,\n# fecha_internacion <date>, fecha_cui_intensivo <date>,\n# fecha_fallecimiento <date>, clasificacion <chr>,\n# clasificacion_resumen <chr>, dias_caso <dbl>\n\n\nLos casos tienen un rango que va del positivo al negativo.\n\nrange(dif_dias$dias_caso)\n\n[1] -7304 828\n\n\nSi grafico, observo que la gran mayoria de los casos cae entre 0 a 10 dias.\n\nggplotly(\ndif_dias |> \n filter(dias_caso < 30, dias_caso > -7) |> \n group_by(dias_caso, carga_provincia_nombre) |> \n count() |> \n ggplot(aes(x = dias_caso,\n y = n,\n fill = carga_provincia_nombre)) +\n geom_col() +\n scale_fill_viridis_d()+\n theme_minimal() +\n ylab('Cantidad de observaciones') +\n xlab('Diferencia entre fecha_inicio_sintomas y fecha_diagnostico')\n\n)\n\n\n\nPeríodo entre fecha_inicio_sintomas y fecha_diagnostico reportado para Buenos Aires y CABA, en los casos donde ambos valores fueron reportados" + }, + { + "objectID": "analisis_datos_covid.html#base-de-datos-final", + "href": "analisis_datos_covid.html#base-de-datos-final", + "title": "Análisis de datos de COVID-19", + "section": "Base de datos final", + "text": "Base de datos final\n\nDebido a que los datos de movilidad ciudadana solo son para el año 2020, se limita la base a ese periodo.\nConsiderando los casos descriptos anteriormente se tomaran las decisiones resumidas Tabla 2 para la creación de una nueva variable fecha_enfermo:\n\n\n\nTabla 2: Desiciones para la creación de la variable fecha_enfermo\n\n\n\n\n\n\n\nCaso\nDescripcion\nfecha_enfermo\n\n\n\n\n1\nfecha_inicio_sintomas y fecha_diagnostico no reportadas\nRemover casos\n\n\n2\nfecha_inicio_sintomas reportada y fecha_diagnostico ausente\nSe considera fecha_diagnostico\n\n\n3\nfecha_inicio_sintomas ausente y fecha_diagnostico reportada\nSe considera fecha_inicio_sintomas\n\n\n4\nfecha_inicio_sintomas y fecha_diagnostico reportadas\nSe conserva fecha_inicio_sintoma\n\n\n\n\n\nPara el caso 4, se eliminaron tambien los casos donde la diferencia entre fecha_inicio_sintomas y fecha_diagnostico era mayor a 30 o menor a -7.\n\n\n# periodo de analisis\ncovid_inicio <- ymd(\"2020-03-01\")\ncovid_final <- ymd(\"2022-03-31\")\n\nperiodo <- function(x) {\n covid_inicio <= x & covid_final >= x\n}\n\ncovid_casos_muestra <- covid_casos_muestra |> \n filter(if_all(starts_with('fecha_'),\n ~ is.na(.x) | covid_inicio <= .x & covid_final >= .x)) \n\nbase_covid_completa <- dif_dias_total_casos |> \n # elimino casos donde la diferencia de dias entre \n # fecha de sintomas y diagnostico es muy extrema\n filter(dias_caso < 30,\n dias_caso > -7) |> \n mutate(fecha_enfermo = case_when(\n # CASO 1\n !is.na(fecha_inicio_sintomas) &\n !is.na(fecha_diagnostico) ~ as.character(fecha_inicio_sintomas),\n # CASO 2\n is.na(fecha_inicio_sintomas) & \n !is.na(fecha_diagnostico) ~ as.character(fecha_diagnostico),\n # CASO 3\n !is.na(fecha_inicio_sintomas) &\n is.na(fecha_diagnostico) ~ as.character(fecha_inicio_sintomas),\n # CASO 4\n is.na(fecha_inicio_sintomas) &\n is.na(fecha_diagnostico) ~ NA_character_)) |> \n filter(fecha_enfermo <= as.Date('2020-12-31'),\n fecha_enfermo >= as.Date('2020-03-01')) \n\n\nbase_covid_completa <- base_covid_completa |> \n drop_na(fecha_enfermo) # remuevo el caso 1\n\nhead(base_covid_completa)\n\n# A tibble: 6 × 17\n id_evento_caso edad edad_años_meses sexo carga_provincia_nombre\n <int> <int> <chr> <chr> <chr> \n1 1000012 48 Años M CABA \n2 1000015 31 Años F Buenos Aires \n3 1000024 63 Años M CABA \n4 1000025 23 Años M Buenos Aires \n5 1000037 77 Años F CABA \n6 1000052 31 Años F Buenos Aires \n# ℹ 12 more variables: residencia_pais_nombre <chr>,\n# residencia_provincia_nombre <chr>, residencia_departamento_nombre <chr>,\n# fecha_inicio_sintomas <date>, fecha_diagnostico <date>,\n# fecha_internacion <date>, fecha_cui_intensivo <date>,\n# fecha_fallecimiento <date>, clasificacion <chr>,\n# clasificacion_resumen <chr>, dias_caso <dbl>, fecha_enfermo <chr>\n\n# guardo la base\nwrite_parquet(base_covid_completa, \"data/procesada/covid_casos_baires_geocovid.parquet\")" + }, + { + "objectID": "LICENSE.html", + "href": "LICENSE.html", + "title": "MIT License", + "section": "", + "text": "MIT License\nCopyright (c) 2023 geocovid_bsas authors\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE." } ] \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index e34127e..46ac8df 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1,31 +1,31 @@ - https://fernandez-lab-wsu.github.io/geocovid_bsas/LICENSE.html - 2023-12-13T22:05:19.355Z + https://fernandez-lab-wsu.github.io/geocovid_bsas/creacion_mapa_bsas.html + 2023-12-13T22:08:58.040Z - https://fernandez-lab-wsu.github.io/geocovid_bsas/analisis_datos_covid.html - 2023-12-13T22:05:18.663Z + https://fernandez-lab-wsu.github.io/geocovid_bsas/CODIGO_DE_CONDUCTA.html + 2023-12-13T22:08:57.296Z - https://fernandez-lab-wsu.github.io/geocovid_bsas/creacion_mapa_bsas.html - 2023-12-13T22:05:16.931Z + https://fernandez-lab-wsu.github.io/geocovid_bsas/creacion_de_rasters.html + 2023-12-13T22:08:56.048Z https://fernandez-lab-wsu.github.io/geocovid_bsas/index.html - 2023-12-13T22:05:15.831Z + 2023-12-13T22:08:54.500Z - https://fernandez-lab-wsu.github.io/geocovid_bsas/CODIGO_DE_CONDUCTA.html - 2023-12-13T22:05:16.403Z + https://fernandez-lab-wsu.github.io/geocovid_bsas/calculo_movilidad_por_departamento.html + 2023-12-13T22:08:55.608Z - https://fernandez-lab-wsu.github.io/geocovid_bsas/calculo_movilidad_por_departamento.html - 2023-12-13T22:05:17.719Z + https://fernandez-lab-wsu.github.io/geocovid_bsas/analisis_datos_covid.html + 2023-12-13T22:08:57.000Z - https://fernandez-lab-wsu.github.io/geocovid_bsas/creacion_de_rasters.html - 2023-12-13T22:05:19.107Z + https://fernandez-lab-wsu.github.io/geocovid_bsas/LICENSE.html + 2023-12-13T22:08:57.540Z