Javier Gómez Gonzalez
2020-May-03 18:39 UTC
[R-es] Problemas calculo muertes acumuladas mundo COVID-19 dplyr
Hola a todos:
Tengo problemas para calcular los casos acumulados y las muertes acumuladas
para el mundo a partir de los datos diarios por paises de casos y muertes
Los datos los estoy descargando del European Centre for Disease Prevention
and Control
library(utils)
library(httr)
GET("https://opendata.ecdc.europa.eu/covid19/casedistribution/csv",
authenticate(":", ":", type="ntlm"),
write_disk(tf <- tempfile(fileext
= ".csv")))
# Creamos un dataframe con los datos descargados
datos <- read.csv(tf)
El ejemplo es para el 01-05-2020
Lo que estoy haciendo es lo siguiente:
# Calculamos las muertes acumuladas y los casos acumulados por países
names(mundo)
mundo_1 <- mundo %>%
group_by(pais) %>%
mutate(casos_totales=cumsum(casos_dia),
muertes_totales=cumsum(muertes_dia) )%>% ungroup()
# Creamos las variables casos dia, casos totales,
# muertes dia y muertes totales por fecha
mundo_2 <- mundo_1 %>%
group_by(fecha) %>%
summarise(casos_dia=sum(casos_dia),
casos_totales=sum(casos_totales,na.rm=T),
muertes_dia=sum(muertes_dia),
muertes_totales=sum(muertes_totales)) %>% ungroup()
Y el problema que tengo es que para el 30-04-2020 los valores acumulados
son menores que para el 29-04-2020
* fecha*
*casos_dia*
*casos_totales*
*muertes_dia*
*muertes_totales*
*123*
2020-05-01
83466
3213554
5519
232563
*122*
2020-04-30
76380
*2917171*
*6412*
202769
*121*
2020-04-29
72977
3053708
6513
220632
*120*
2020-04-28
65432
2980731
4897
214119
*119*
2020-04-27
83536
2915299
3926
209222
*118*
2020-04-26
101716
2831763
6249
205296
Muchas gracias
[[alternative HTML version deleted]]
Marcelino de la Cruz Rot
2020-May-03 19:01 UTC
[R-es] Problemas calculo muertes acumuladas mundo COVID-19 dplyr
Hola Javier: Igual te resulta más fácil así: mundo <-aggregate(datos$deaths, by=list(factor(datos$day)), FUN=sum) mundo$suma_acumulada<- cumsum(mundo$x) mundo Un saludo, Marcelino El 03/05/2020 a las 20:39, Javier Gómez Gonzalez escribió:> Hola a todos: > Tengo problemas para calcular los casos acumulados y las muertes acumuladas > para el mundo a partir de los datos diarios por paises de casos y muertes > Los datos los estoy descargando del European Centre for Disease Prevention > and Control > > library(utils) > library(httr) > GET("https://opendata.ecdc.europa.eu/covid19/casedistribution/csv", > authenticate(":", ":", type="ntlm"), write_disk(tf <- tempfile(fileext > = ".csv"))) > > # Creamos un dataframe con los datos descargados > datos <- read.csv(tf) > > El ejemplo es para el 01-05-2020 > Lo que estoy haciendo es lo siguiente: > > # Calculamos las muertes acumuladas y los casos acumulados por países > names(mundo) > mundo_1 <- mundo %>% > group_by(pais) %>% > mutate(casos_totales=cumsum(casos_dia), > muertes_totales=cumsum(muertes_dia) )%>% ungroup() > > # Creamos las variables casos dia, casos totales, > # muertes dia y muertes totales por fecha > mundo_2 <- mundo_1 %>% > group_by(fecha) %>% > summarise(casos_dia=sum(casos_dia), > casos_totales=sum(casos_totales,na.rm=T), > muertes_dia=sum(muertes_dia), > muertes_totales=sum(muertes_totales)) %>% ungroup() > > Y el problema que tengo es que para el 30-04-2020 los valores acumulados > son menores que para el 29-04-2020 > > > * fecha* > > *casos_dia* > > *casos_totales* > > *muertes_dia* > > *muertes_totales* > > *123* > > 2020-05-01 > > 83466 > > 3213554 > > 5519 > > 232563 > > *122* > > 2020-04-30 > > 76380 > > *2917171* > > *6412* > > 202769 > > *121* > > 2020-04-29 > > 72977 > > 3053708 > > 6513 > > 220632 > > *120* > > 2020-04-28 > > 65432 > > 2980731 > > 4897 > > 214119 > > *119* > > 2020-04-27 > > 83536 > > 2915299 > > 3926 > > 209222 > > *118* > > 2020-04-26 > > 101716 > > 2831763 > > 6249 > > 205296 > > > > Muchas gracias > > [[alternative HTML version deleted]] > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > .-- Marcelino de la Cruz Rot Depto. de Biología y Geología Física y Química Inorgánica Universidad Rey Juan Carlos Móstoles España
Carlos Ortega
2020-May-03 21:23 UTC
[R-es] Problemas calculo muertes acumuladas mundo COVID-19 dplyr
Hola, Mira la fecha, porque no tiene formato "Date", si no "character" y eso te puede estar creando problemas. Otra alternativa con data.table.... #-------------------------------- library(data.table) library(lubridate) datdt <- as.data.table(datos) datdt[ , fecha := dmy(dateRep)] datdt[ , .(cas_cum = cumsum(cases)), by = .(fecha)][ , head(.SD[.N]), by .(fecha)] #------------------------------ Saludos, Carlos Ortega www.qualityexcellence.es El dom., 3 may. 2020 a las 20:41, Javier Gómez Gonzalez (< zaragatan en gmail.com>) escribió:> Hola a todos: > Tengo problemas para calcular los casos acumulados y las muertes acumuladas > para el mundo a partir de los datos diarios por paises de casos y muertes > Los datos los estoy descargando del European Centre for Disease Prevention > and Control > > library(utils) > library(httr) > GET("https://opendata.ecdc.europa.eu/covid19/casedistribution/csv", > authenticate(":", ":", type="ntlm"), write_disk(tf <- tempfile(fileext > = ".csv"))) > > # Creamos un dataframe con los datos descargados > datos <- read.csv(tf) > > El ejemplo es para el 01-05-2020 > Lo que estoy haciendo es lo siguiente: > > # Calculamos las muertes acumuladas y los casos acumulados por países > names(mundo) > mundo_1 <- mundo %>% > group_by(pais) %>% > mutate(casos_totales=cumsum(casos_dia), > muertes_totales=cumsum(muertes_dia) )%>% ungroup() > > # Creamos las variables casos dia, casos totales, > # muertes dia y muertes totales por fecha > mundo_2 <- mundo_1 %>% > group_by(fecha) %>% > summarise(casos_dia=sum(casos_dia), > casos_totales=sum(casos_totales,na.rm=T), > muertes_dia=sum(muertes_dia), > muertes_totales=sum(muertes_totales)) %>% ungroup() > > Y el problema que tengo es que para el 30-04-2020 los valores acumulados > son menores que para el 29-04-2020 > > > * fecha* > > *casos_dia* > > *casos_totales* > > *muertes_dia* > > *muertes_totales* > > *123* > > 2020-05-01 > > 83466 > > 3213554 > > 5519 > > 232563 > > *122* > > 2020-04-30 > > 76380 > > *2917171* > > *6412* > > 202769 > > *121* > > 2020-04-29 > > 72977 > > 3053708 > > 6513 > > 220632 > > *120* > > 2020-04-28 > > 65432 > > 2980731 > > 4897 > > 214119 > > *119* > > 2020-04-27 > > 83536 > > 2915299 > > 3926 > > 209222 > > *118* > > 2020-04-26 > > 101716 > > 2831763 > > 6249 > > 205296 > > > > Muchas gracias > > [[alternative HTML version deleted]] > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >-- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]]