Giter VIP home page Giter VIP logo

covid19hub's Introduction

Build Status Build status Coverage Status CRAN_Status_Badge

reconhub

This packages installs and loads all stable RECON packages similiar to the tidyverse package.

Installing the package

To install the current stable, CRAN version of the package, type:

install.packages("reconhub")

To benefit from the latest features and bug fixes, install the development, github version of the package using:

devtools::install_github("reconhub/reconhub")

Note that this requires the package devtools installed.

What does it do?

# attaches all stable recon packages
library(reconhub)
## Attaching package epicontacts

## Attaching package outbreaks

## Attaching package incidence

Also, you can install all development versions of RECON packages:

reconhub::install_dev_versions()

Getting help online

Bug reports and feature requests should be posted on github using the issue system. All other questions should be posted on the RECON forum:
http://www.repidemicsconsortium.org/forum/

Contributions are welcome via pull requests.

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

covid19hub's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

sgt101 yuqiuh

covid19hub's Issues

Processing and accessing mobility data

Google has started providing mobility statistics derived from mobility data from smartphone users: https://www.google.com/covid19/mobility/.

Description

For public health officials and researchers it will be crucial to be able to follow the evolution of those mobility indicators through time and to integrate them in automated analyses. A means to automatically access those indicators (and their evolution) from within R code is thus needed.

  1. See if google provides an API to automatically access indicators
    • If yes: go to 2.
    • If no, examine pdf reports to see if indicators can be extracted automatically
  2. provide an R package that makes the indicators available from within R in tabular form through API or by extracting values from pdf reports

Output

The proposed output is a data frame in long format with columns for country, date, indicator and values.

Impact

This will allow to follow mobility indicators automatically from within R code, which will allow for analysis of (for example) the impact of mobility reduction on transmissibility.

Proposed Timeline

First version of package available on Apr 10.

Focal Point

@ffinger

Links

Could be integrated into https://github.com/epiforecasts/NCoVUtils or live as a separate package.

Package: fit discretised distributions to match expected distributional properties

Package: fit discretised distributions to match expected distributional properties

Description

Disclaimer: if this exists already, please feel free to point it out here.

What we need: fit a discretised distribution (distcrete object) so that it matches user-specified properties e.g. quantiles (typically the median, and 25% / 75% quantiles)

The package should include documentation, simple reproducible examples, unit tests, and use good practices and standards recommended by RECON or similar.

Specs (option 1)

This version would be slightly easier to use, but more constrained as we explicitely force fitting using quantiles. The method for calculating distances from targets is likely pre-programmed in the function, so only a few options will be available (likely: least square, absolute values, etc).

  • inputs:
    • name: a single character indicating the family of a distribution; I would recommend using gamma and weibull for testing purposes, as these are often the distributions we end up using; see name in ?distcrete::distcrete
    • target_quantiles: a numeric vector providing quantile used for fitting (between 0 and 1)
    • target_values: a numeric vector providing quantiles values to be fitted to
    • fit_method: a single character indicating which fitting method should be used (default to least squares)
    • ... other arguments passed to distcrete::distcrete
  • outputs:
    • a distcrete object with quantile properties matching the user-specified quantiles as closely as possible

Specs (option 2)

This version would be more flexible targets and fitting are passed as user-specified functions.

  • inputs:
    • name: a single character indicating the family of a distribution; I would recommend using gamma and weibull for testing purposes, as these are often the distributions we end up using; see name in ?distcrete::distcrete
    • summary: a function with a single argument x calculating a distributional summary of its input
    • distance: a function with 2 arguments x and y, calculating a dissimilarity between x and y, as a single numeric, finite value
    • ... other arguments passed to distcrete::distcrete
  • outputs:
    • a distcrete object with quantile properties matching the user-specified quantiles as closely as possible

Relevant related packages

Starting point

The following code generates a discretised weibull as a distcrete object, generates a sample of 1e5 values, and calculates the sum of squared distances from reference quantiles:

## define targets
target_quantiles <- c(.25, .5, .75)
target_values <- c(3, 5, 7)


## make distcrete object
x <- distcrete::distcrete("weibull", shape = 2, scale = 4, w = 0.5, interval = 1)

## check quantiles
x_quantiles <- quantile(x$r(1e5), probs = target_quantiles)
sum_square <- sum((x_quantiles - target_values)^2)

Further tweaks will be putting this insided an optimiser. The interface should allow accessing all arguments of distcrete::distcrete in addition to arguments used to specify targets and fitting

Impact

Many epidemiologically relevant delays are shared in the literature as means, medians, IQR, 95%CI etc. However, it can be very tricky to turn these into discretised distributions which we can then use for forecasting, estimating transmissibility etc. A simple utilitary function implementing this would be a great help for this.

Proposed timeline

  • first viable product: as soon as possible; proposed: 25th April
  • first stable version (CRAN release): less urgent, the main thing is to have this package, tested, documented, and publicly accessible

Focal point

@thibautjombart

Functions to import reported daily sub-national new cases and deaths from LMIC

Description

A function for each country that accesses public data sources and makes the data accessible in R.
Good examples in this package: https://github.com/epiforecasts/NCoVUtils for a number of countries.

Functions are existent for most European and Asian countries and the US. We are looking for data and functions for LMIC at the moment, especially African countries.

I suggest we use this issue to keep track of

  1. Needs for data and R functions for specific countries
  2. Available data sources for specific countries
  3. Functions that import the data sources identified in 2.

See below for google sheet tracking those.

Output

The output format of each function should be a long data frame containing the following columns:

  • country
  • admin_subdivision_level_1
  • admin_subdivision_level_2 (if available)
  • (more levels if available)
  • date
  • cases
  • deaths

where cases and deaths stand for the newly reported cases and deaths on that day.

Functions can either be added to https://github.com/epiforecasts/NCoVUtils via pull request, or we can start our own package that wraps NCoVUtils and other solutions for the already implemented countries.

Countries already covered:

https://github.com/epiforecasts/NCoVUtils covers the following countries so far:

  • Belgium
  • Canada
  • France
  • Germany
  • Italy
  • Spain
  • United Kingdom
  • United States
  • Japan
  • Korea
  • Afghanistan

Countries to be done

Spreadsheet to track requested countries, data sources and implementations:
https://docs.google.com/spreadsheets/d/1uvg07BAmwKqLqhKvkejhkX7uvXiGCre4sz11Au3pz9Q/edit?usp=sharing

my own priority list:

  • Burkina Faso
  • Irak
  • Democratic Republic of the Congo
  • Syria

Links

A few places where data sources are indexed:

https://data.humdata.org/event/covid-19
https://coronavirustechhandbook.com/home
https://www.europeandataportal.eu/data/datasets?locale=en&categories=heal&page=1&query=covid

Package: bed occupancy forecasting

Package: bed occupancy forecasting

Description

Package existing code to implement forecasting of daily bed occupancy from input on daily admissions and the distribution of duration of stay.

The package should include documentation, simple reproducible examples, unit tests.

Use cases / specs

  1. predict bed occupancy from existing admission data
    • input dates of admissions as Date
    • input numbers of admissions as integer
    • input distribution of the length of stay (LoS) as a distcrete object (preferably) or as a function returning integer numbers along the lines of rgeom()
  2. do the above, but with several admission trajectories (e.g. from different models)
    • input on admissions as a projections object
    • input LoS as in 1.
  3. outputs should be projections objects

Relevant related pacakges

Starting point

A starting point is provided in the two following gists:

Impact

Some of the main questions for COVID19 response relate to hospital bed capacity. For this, multpile modelling groups are making forecastings of bed occupancy, e.g. our app. However there is no consistent way of doing this, leaving room for potential errors and consistency across results. Having a reliable, computer-efficient, well documented and tested way of forecasting bed occupancy will improve the quality of, and the ease for providing, these predictions.

Proposed timeline

  • first viable product: as soon as possible; end of May?
  • first stable version (CRAN release): less urgent, the main thing is to have this package, tested, documented, and publicly accessible

Focal point

@thibautjombart

Template task

Help develop a ... (title of the issue, potentially longer)

*This template is provided to help structure tasks. Feel free to elaborate if you feel like the provided structure is not sufficient to describe your task. Also, please feel free to provide feedback on the template by creating a separate issue and using the label internal.

Description

This is some information on the task. Keep it short, and don't hesitate to use bullet/numbered lists like:

  1. first we need this
  2. then we need that
  3. ...
    Or use tick boxes:
  • first we need this
  • then we need that
  • ...

Impact

This project will be used for ... and improve...

Proposed timeline

  • first viable product: [a date]
  • first stable version: [a date]

Focal point

Tag the person (if not yourself) to contact for this project using their github ID.

Links

Provide some links here if relevant, including other github issues that may alread provide information on the task.

test task

this is a test task [originally proposed by @matthieugold]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.