From 9d9ee701c0964ae86ccf939738e144bd1b90e8cc Mon Sep 17 00:00:00 2001 From: "Daniel J. McDonald" Date: Mon, 11 Sep 2023 17:47:06 -0700 Subject: [PATCH 1/4] use delphi/CMU red, match `epipredict` --- _pkgdown.yml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/_pkgdown.yml b/_pkgdown.yml index 7b5c1c3b..26cf0d2b 100644 --- a/_pkgdown.yml +++ b/_pkgdown.yml @@ -1,3 +1,17 @@ +template: + bootstrap: 5 + bootswatch: cosmo + bslib: + font_scale: 1.0 + primary: '#C41230' + link-color: '#C41230' + navbar-bg: '#C41230' + navbar-fg: '#f8f8f8' + +navbar: + bg: '#C41230' + fg: '#f8f8f8' + home: links: - text: Get the Python client @@ -5,6 +19,18 @@ home: - text: View the Delphi Website href: https://delphi.cmu.edu/ + + - text: Introduction to Delphi's Tooling Work + href: https://cmu-delphi.github.io/delphi-tooling-book/ + + - text: The epiprocess R package + href: https://cmu-delphi.github.io/epiprocess/ + + - text: The epipredict R package + href: https://cmu-delphi.github.io/epipredict/ + + - text: The epidatasets R package + href: https://cmu-delphi.github.io/epidatasets/ reference: - title: Configuration and utilities From b28e56c4e993b52fa04ddf53dff4da195c65afb0 Mon Sep 17 00:00:00 2001 From: "Daniel J. McDonald" Date: Mon, 11 Sep 2023 17:48:36 -0700 Subject: [PATCH 2/4] Make the readme an Rmd * rebuild it with `devtools::render_readme()` * easier to track changes / multiple files * Note that the rebuilt figure looks a bit different. --- .Rbuildignore | 1 + README.Rmd | 100 ++++++++++++++++++++ README.md | 121 ++++++++++++++++--------- man/figures/README-fb-cli-signal-1.png | Bin 0 -> 33909 bytes 4 files changed, 177 insertions(+), 45 deletions(-) create mode 100644 README.Rmd create mode 100644 man/figures/README-fb-cli-signal-1.png diff --git a/.Rbuildignore b/.Rbuildignore index d8980c48..cc347d67 100644 --- a/.Rbuildignore +++ b/.Rbuildignore @@ -20,3 +20,4 @@ ^.venv$ ^env$ ^.env$ +^README\.Rmd$ diff --git a/README.Rmd b/README.Rmd new file mode 100644 index 00000000..47e44f43 --- /dev/null +++ b/README.Rmd @@ -0,0 +1,100 @@ +--- +output: github_document +--- + + + +```{r, include = FALSE} +knitr::opts_chunk$set( + collapse = TRUE, + comment = "#>", + fig.path = "man/figures/README-", + out.width = "100%" +) +ggplot2::theme_set(ggplot2::theme_bw()) +``` + +# Delphi Epidata R client + + + +[![License: MIT][mit-image]][mit-url] [![Github Actions][github-actions-image]][github-actions-url] +[![codecov](https://codecov.io/gh/dsweber2/epidatr/branch/dev/graph/badge.svg?token=jVHL9eHZNZ)](https://app.codecov.io/gh/dsweber2/epidatr) + + + + +The [Delphi Epidata API](https://cmu-delphi.github.io/delphi-epidata/) provides real-time access to epidemiological surveillance data for influenza, COVID-19, and other diseases for the USA at various geographical resolutions, both from official government sources such as the [Center for Disease Control (CDC)](https://www.cdc.gov/datastatistics/index.html) and [Google Trends](https://cmu-delphi.github.io/delphi-epidata/api/covidcast-signals/google-symptoms.html) and private partners such as [Facebook](https://delphi.cmu.edu/blog/2020/08/26/covid-19-symptom-surveys-through-facebook/) and [Change Healthcare](https://www.changehealthcare.com/). It is built and maintained by the Carnegie Mellon University [Delphi research group](https://delphi.cmu.edu/). + +This package is designed to streamline the downloading and usage of data from the [Delphi Epidata +API](https://cmu-delphi.github.io/delphi-epidata/). It provides a simple R interface to the API, including functions for downloading data, parsing the results, and converting the data into a tidy format. The API stores a historical record of all data, including corrections and updates, which is particularly useful for accurately backtesting forecasting models. We also provide packages for downstream data processing ([epiprocess](https://github.com/cmu-delphi/epiprocess)) and modeling ([epipredict](https://github.com/cmu-delphi/epipredict)). + +## Usage + +```{r} +library(epidatr) +# Obtain the smoothed covid-like illness (CLI) signal from the +# Facebook survey as it was on April 10, 2021 for the US +epidata <- pub_covidcast( + source = "fb-survey", + signals = "smoothed_cli", + geo_type = "nation", + time_type = "day", + geo_values = "us", + time_values = epirange(20210101, 20210601), + as_of = "2021-06-01" +) +epidata +``` + +```{r fb-cli-signal} +# Plot this data +library(ggplot2) +ggplot(epidata, aes(x = time_value, y = value)) + + geom_line() + + labs(title = "Smoothed CLI from Facebook Survey", + subtitle = "US, 2021", + x = "Date", + y = "CLI") +``` + + +## Installation + +Install from GitHub: + +```R +# Install the dev version using `pak` or `remotes` +pak::pkg_install("cmu-delphi/epidatr") +remotes::install_github("cmu-delphi/epidatr") +``` + +CRAN version coming soon. + +### API Keys + +The Delphi API requires a (free) API key for full functionality. To generate +your key, register for a pseudo-anonymous account +[here](https://api.delphi.cmu.edu/epidata/admin/registration_form) and see more +discussion on the [general API +website](https://cmu-delphi.github.io/delphi-epidata/api/api_keys.html). The +`epidatr` client will automatically look for this key in the R option +`delphi.epidata.key` or in the environment variable +`DELPHI_EPIDATA_KEY`. We recommend storing your key in `.Renviron` file, which R +will read by default. + +Note that for the time being, the private endpoints (i.e. those prefixed with +`pvt`) will require a separate key that needs to be passed as an argument. + +[mit-image]: https://img.shields.io/badge/License-MIT-yellow.svg +[mit-url]: https://opensource.org/license/mit/ +[github-actions-image]: https://github.com/cmu-delphi/epidatr/workflows/ci/badge.svg +[github-actions-url]: https://github.com/cmu-delphi/epidatr/actions + +## Get updates + +You should consider subscribing to the [API mailing list](https://lists.andrew.cmu.edu/mailman/listinfo/delphi-covidcast-api) to be notified of package updates, new data sources, corrections, and other updates. + +## For users of the `covidcast` R package + +The `epidatr` package is a complete rewrite of the [`covidcast` package](https://cmu-delphi.github.io/covidcast/covidcastR/), with a focus on speed, reliability, and ease of use. The `covidcast` package is deprecated and will no longer be updated. diff --git a/README.md b/README.md index 643ec3f0..224445ad 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,47 @@ -# Delphi Epidata R client -[![License: MIT][mit-image]][mit-url] [![Github Actions][github-actions-image]][github-actions-url] -[![codecov](https://codecov.io/gh/dsweber2/epidatr/branch/dev/graph/badge.svg?token=jVHL9eHZNZ)](https://app.codecov.io/gh/dsweber2/epidatr) + -The [Delphi Epidata API](https://cmu-delphi.github.io/delphi-epidata/) provides real-time access to epidemiological surveillance data for influenza, COVID-19, and other diseases for the USA at various geographical resolutions, both from official government sources such as the [Center for Disease Control (CDC)](https://www.cdc.gov/datastatistics/index.html) and [Google Trends](https://cmu-delphi.github.io/delphi-epidata/api/covidcast-signals/google-symptoms.html) and private partners such as [Facebook](https://delphi.cmu.edu/blog/2020/08/26/covid-19-symptom-surveys-through-facebook/) and [Change Healthcare](https://www.changehealthcare.com/). It is built and maintained by the Carnegie Mellon University [Delphi research group](https://delphi.cmu.edu/). +# Delphi Epidata R client -This package is designed to streamline the downloading and usage of data from the [Delphi Epidata -API](https://cmu-delphi.github.io/delphi-epidata/). It provides a simple R interface to the API, including functions for downloading data, parsing the results, and converting the data into a tidy format. The API stores a historical record of all data, including corrections and updates, which is particularly useful for accurately backtesting forecasting models. We also provide packages for downstream data processing ([epiprocess](https://github.com/cmu-delphi/epiprocess)) and modeling ([epipredict](https://github.com/cmu-delphi/epipredict)). + + +[![License: +MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/license/mit/) +[![Github +Actions](https://github.com/cmu-delphi/epidatr/workflows/ci/badge.svg)](https://github.com/cmu-delphi/epidatr/actions) +[![codecov](https://codecov.io/gh/dsweber2/epidatr/branch/dev/graph/badge.svg?token=jVHL9eHZNZ)](https://app.codecov.io/gh/dsweber2/epidatr) + + +The [Delphi Epidata API](https://cmu-delphi.github.io/delphi-epidata/) +provides real-time access to epidemiological surveillance data for +influenza, COVID-19, and other diseases for the USA at various +geographical resolutions, both from official government sources such as +the [Center for Disease Control +(CDC)](https://www.cdc.gov/datastatistics/index.html) and [Google +Trends](https://cmu-delphi.github.io/delphi-epidata/api/covidcast-signals/google-symptoms.html) +and private partners such as +[Facebook](https://delphi.cmu.edu/blog/2020/08/26/covid-19-symptom-surveys-through-facebook/) +and [Change Healthcare](https://www.changehealthcare.com/). It is built +and maintained by the Carnegie Mellon University [Delphi research +group](https://delphi.cmu.edu/). + +This package is designed to streamline the downloading and usage of data +from the [Delphi Epidata +API](https://cmu-delphi.github.io/delphi-epidata/). It provides a simple +R interface to the API, including functions for downloading data, +parsing the results, and converting the data into a tidy format. The API +stores a historical record of all data, including corrections and +updates, which is particularly useful for accurately backtesting +forecasting models. We also provide packages for downstream data +processing ([epiprocess](https://github.com/cmu-delphi/epiprocess)) and +modeling ([epipredict](https://github.com/cmu-delphi/epipredict)). ## Usage -```R +``` r library(epidatr) -# Obtain the smoothed covid-like illness (CLI) signal from the Facebook survey as it was on April 10, 2021 for the US +# Obtain the smoothed covid-like illness (CLI) signal from the +# Facebook survey as it was on April 10, 2021 for the US epidata <- pub_covidcast( source = "fb-survey", signals = "smoothed_cli", @@ -23,25 +52,25 @@ epidata <- pub_covidcast( as_of = "2021-06-01" ) epidata +#> # A tibble: 151 × 15 +#> geo_value signal source geo_type time_type time_value direction issue +#> +#> 1 us smoothed… fb-su… nation day 2021-01-01 NA 2021-01-06 +#> 2 us smoothed… fb-su… nation day 2021-01-02 NA 2021-01-07 +#> 3 us smoothed… fb-su… nation day 2021-01-03 NA 2021-01-08 +#> 4 us smoothed… fb-su… nation day 2021-01-04 NA 2021-01-09 +#> 5 us smoothed… fb-su… nation day 2021-01-05 NA 2021-01-10 +#> 6 us smoothed… fb-su… nation day 2021-01-06 NA 2021-01-29 +#> 7 us smoothed… fb-su… nation day 2021-01-07 NA 2021-01-29 +#> 8 us smoothed… fb-su… nation day 2021-01-08 NA 2021-01-29 +#> 9 us smoothed… fb-su… nation day 2021-01-09 NA 2021-01-29 +#> 10 us smoothed… fb-su… nation day 2021-01-10 NA 2021-01-29 +#> # ℹ 141 more rows +#> # ℹ 7 more variables: lag , missing_value , missing_stderr , +#> # missing_sample_size , value , stderr , sample_size ``` -``` -# A tibble: 6 × 15 - geo_value signal source geo_type time_type time_value - -1 us smoothed_cli fb-surv… nation day 2021-04-05 -2 us smoothed_cli fb-surv… nation day 2021-04-06 -3 us smoothed_cli fb-surv… nation day 2021-04-07 -4 us smoothed_cli fb-surv… nation day 2021-04-08 -5 us smoothed_cli fb-surv… nation day 2021-04-09 -6 us smoothed_cli fb-surv… nation day 2021-04-10 -# ℹ 9 more variables: direction , issue , -# lag , missing_value , missing_stderr , -# missing_sample_size , value , stderr , -# sample_size -``` - -```r +``` r # Plot this data library(ggplot2) ggplot(epidata, aes(x = time_value, y = value)) + @@ -52,13 +81,13 @@ ggplot(epidata, aes(x = time_value, y = value)) + y = "CLI") ``` -![Smoothed CLI from Facebook Survey](man/figures/fb-cli-signal.png) + ## Installation Install from GitHub: -```R +``` r # Install the dev version using `pak` or `remotes` pak::pkg_install("cmu-delphi/epidatr") remotes::install_github("cmu-delphi/epidatr") @@ -68,28 +97,30 @@ CRAN version coming soon. ### API Keys -The Delphi API requires a (free) API key for full functionality. To generate -your key, register for a pseudo-anonymous account -[here](https://api.delphi.cmu.edu/epidata/admin/registration_form) and see more -discussion on the [general API -website](https://cmu-delphi.github.io/delphi-epidata/api/api_keys.html). The -`epidatr` client will automatically look for this key in the R option -`delphi.epidata.key` or in the environment variable -`DELPHI_EPIDATA_KEY`. We recommend storing your key in `.Renviron` file, which R -will read by default. - -Note that for the time being, the private endpoints (i.e. those prefixed with -`pvt`) will require a separate key that needs to be passed as an argument. +The Delphi API requires a (free) API key for full functionality. To +generate your key, register for a pseudo-anonymous account +[here](https://api.delphi.cmu.edu/epidata/admin/registration_form) and +see more discussion on the [general API +website](https://cmu-delphi.github.io/delphi-epidata/api/api_keys.html). +The `epidatr` client will automatically look for this key in the R +option `delphi.epidata.key` or in the environment variable +`DELPHI_EPIDATA_KEY`. We recommend storing your key in `.Renviron` file, +which R will read by default. -[mit-image]: https://img.shields.io/badge/License-MIT-yellow.svg -[mit-url]: https://opensource.org/license/mit/ -[github-actions-image]: https://github.com/cmu-delphi/epidatr/workflows/ci/badge.svg -[github-actions-url]: https://github.com/cmu-delphi/epidatr/actions +Note that for the time being, the private endpoints (i.e. those prefixed +with `pvt`) will require a separate key that needs to be passed as an +argument. ## Get updates -You should consider subscribing to the [API mailing list](https://lists.andrew.cmu.edu/mailman/listinfo/delphi-covidcast-api) to be notified of package updates, new data sources, corrections, and other updates. +You should consider subscribing to the [API mailing +list](https://lists.andrew.cmu.edu/mailman/listinfo/delphi-covidcast-api) +to be notified of package updates, new data sources, corrections, and +other updates. ## For users of the `covidcast` R package -The `epidatr` package is a complete rewrite of the [`covidcast` package](https://cmu-delphi.github.io/covidcast/covidcastR/), with a focus on speed, reliability, and ease of use. The `covidcast` package is deprecated and will no longer be updated. +The `epidatr` package is a complete rewrite of the [`covidcast` +package](https://cmu-delphi.github.io/covidcast/covidcastR/), with a +focus on speed, reliability, and ease of use. The `covidcast` package is +deprecated and will no longer be updated. diff --git a/man/figures/README-fb-cli-signal-1.png b/man/figures/README-fb-cli-signal-1.png new file mode 100644 index 0000000000000000000000000000000000000000..5a76514d301c351006ccbe139a1b544cd1b6f40a GIT binary patch literal 33909 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 Date: Mon, 11 Sep 2023 18:01:38 -0700 Subject: [PATCH 3/4] run styler, then rebuild README --- README.Rmd | 12 +++++++----- README.md | 12 +++++++----- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/README.Rmd b/README.Rmd index 47e44f43..821c6690 100644 --- a/README.Rmd +++ b/README.Rmd @@ -33,7 +33,7 @@ API](https://cmu-delphi.github.io/delphi-epidata/). It provides a simple R inter ```{r} library(epidatr) -# Obtain the smoothed covid-like illness (CLI) signal from the +# Obtain the smoothed covid-like illness (CLI) signal from the # Facebook survey as it was on April 10, 2021 for the US epidata <- pub_covidcast( source = "fb-survey", @@ -52,10 +52,12 @@ epidata library(ggplot2) ggplot(epidata, aes(x = time_value, y = value)) + geom_line() + - labs(title = "Smoothed CLI from Facebook Survey", - subtitle = "US, 2021", - x = "Date", - y = "CLI") + labs( + title = "Smoothed CLI from Facebook Survey", + subtitle = "US, 2021", + x = "Date", + y = "CLI" + ) ``` diff --git a/README.md b/README.md index 224445ad..66b934b4 100644 --- a/README.md +++ b/README.md @@ -40,7 +40,7 @@ modeling ([epipredict](https://github.com/cmu-delphi/epipredict)). ``` r library(epidatr) -# Obtain the smoothed covid-like illness (CLI) signal from the +# Obtain the smoothed covid-like illness (CLI) signal from the # Facebook survey as it was on April 10, 2021 for the US epidata <- pub_covidcast( source = "fb-survey", @@ -75,10 +75,12 @@ epidata library(ggplot2) ggplot(epidata, aes(x = time_value, y = value)) + geom_line() + - labs(title = "Smoothed CLI from Facebook Survey", - subtitle = "US, 2021", - x = "Date", - y = "CLI") + labs( + title = "Smoothed CLI from Facebook Survey", + subtitle = "US, 2021", + x = "Date", + y = "CLI" + ) ``` From 96889540a74b2607d80a6f13695aec0529e6d5f6 Mon Sep 17 00:00:00 2001 From: Dmitry Shemetov Date: Tue, 12 Sep 2023 11:09:53 -0700 Subject: [PATCH 4/4] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 66b934b4..b3423f1f 100644 --- a/README.md +++ b/README.md @@ -17,8 +17,8 @@ provides real-time access to epidemiological surveillance data for influenza, COVID-19, and other diseases for the USA at various geographical resolutions, both from official government sources such as the [Center for Disease Control -(CDC)](https://www.cdc.gov/datastatistics/index.html) and [Google -Trends](https://cmu-delphi.github.io/delphi-epidata/api/covidcast-signals/google-symptoms.html) +(CDC)](https://www.cdc.gov/datastatistics/index.html), public sources such as [Google +Trends](https://cmu-delphi.github.io/delphi-epidata/api/covidcast-signals/google-symptoms.html), and private partners such as [Facebook](https://delphi.cmu.edu/blog/2020/08/26/covid-19-symptom-surveys-through-facebook/) and [Change Healthcare](https://www.changehealthcare.com/). It is built