The Pandemic PACT monitors and analyses global funding and research evidence related to diseases with pandemic potential, as well as broader research preparedness efforts, and is equipped to pivot in response to outbreaks. It collects, curates, codes, and analyses data in alignment with WHO priority diseases and other selected illnesses, including pandemic influenza, mpox, and plague. Pandemic PACT aims to guide policy and decision-making for research funders, policymakers, researchers, multilateral agencies. The Pandemic PACT data is publicly available for download from its website and from Figshare. This package provides an application programming interface (API) to both the research programme’s Figshare repository and website data download facility to provide programmatic access to its publicly available tracker data along with its other data products.
What does {pactr} do?
pactr provides functions to interface programmatically with Pandemic PACT’s data products either through its Figshare repository or its website.
The functions for Figshare interface are wrappers to specific functions of the {deposits} package which provides the underlying universal interface to various online research data deposition services including Figshare. Current Figshare-specific functionalities available in pactr are:
Listing of outputs/assets available from the Pandemic PACT Figshare repository (experimental);
Downloading of outputs/assets available from the Pandemic PACT Figshare repository (experimental);
Reading of dataset outputs/assets available from the Pandemic PACT Figshare repository (experimental); and,
Processing of Pandemic PACT data (experimental).
The functions for interfacing with the data available from the Pandemic PACT website allow for downloading, reading, and processing. Current website data-specific functionalities available in pactr are:
Downloading of Pandemic PACT dataset available from the website (stable);
Reading of Pandemic PACT dataset available from the website (stable); and,
Processing of Pandemic PACT dataset available from the website (experimental).
Motivation
The main motivation for the development of pactr is to create a standardised programmatic interface to Pandemic PACT’s data for those performing research or investigation relevant to Pandemic PACT’s objectives. Standardised programmatic interface, in turn, allow for reproducible scientific workflows based on the Pandemic PACT dataset.
Installation
pactr is not yet on CRAN but can be installed through the Oxford iHealth R Universe with:
install.packages(
"pactr",
repos = c("https://oxfordihtm.r-universe.dev", "https://cloud.r-project.org")
)Usage - Figshare workflow
Set a Figshare client
The pactr Figshare workflow always starts with the setting up of a Figshare client. This requires creating a Figshare account and then creating a personal access token here.
Once a Figshare token is created, it needs to be stored as a local environment variable. This can be done using the following command in R:
Sys.setenv("FIGSHARE_TOKEN"="YOUR_TOKEN_HERE")Once this token has been set as described above, the following command can be run to setup a Figshare client:
pact_client <- pact_client_set()Once a Figshare client has been setup, you can now perform the functionalities provided by the pactr package.
List outputs/assets
To list available outputs/assets from the Pandemic PACT Figshare repository, issue the following command:
pact_figshare_list(pact_client)The output is a data.frame containing metadata regarding contents of the Figshare Pandemic PACT group. The information within the metadata are those provided by Figshare’s application programming interface (API) and are either set by the Pandemic PACT data team or by Figshare. The data.frame would look as follows:
#> # A tibble: 133 × 12
#> deposit_id id name size is_link_only download_url supplied_md5
#> <int> <int> <chr> <int> <lgl> <chr> <chr>
#> 1 26937448 49007725 PandemicPA… 4.74e4 FALSE https://ndo… 2cca47b50c0…
#> 2 26937448 49007743 Mpox - Map… 1.15e4 FALSE https://ndo… 99c03bed91c…
#> 3 26937448 49007755 research-c… 6.86e3 FALSE https://ndo… b3d92f5954d…
#> 4 26937448 49506642 PandemicPA… 4.88e4 FALSE https://ndo… a6b309ee2c8…
#> 5 26937448 49550799 PandemicPA… 7.07e7 FALSE https://ndo… a139502ed97…
#> 6 26937448 51875285 PandemicPA… 5.08e4 FALSE https://ndo… 7d7b44270ca…
#> 7 26937448 52153913 PandemicPA… 5.27e4 FALSE https://ndo… 30f52675091…
#> 8 26937448 52661744 PandemicPA… 6.92e4 FALSE https://ndo… f90b7282611…
#> 9 26937448 53222348 PandemicPA… 6.97e4 FALSE https://ndo… 78cde9c0779…
#> 10 26937448 54135791 Covid_Gran… 1.61e4 FALSE https://ndo… 8db01bd6c13…
#> # ℹ 123 more rows
#> # ℹ 5 more variables: computed_md5 <chr>, mimetype <chr>, group_id <int>,
#> # project_id <int>, title <chr>This function is useful in getting an overview of what is currently available in the Pandemic PACT Figshare repository.
Download outputs/assets
To download a specific output/asset - say the scoping review data - from the Pandemic PACT Figshare repository, issue the following commands:
## Get the unique identifier for the scoping review data from Figshare ----
file_id <- pact_list(pact_client) |>
subset(title == "Scoping Review Data", select = id) |>
unlist()
pact_download_figshare(id = file_id, path = ".")This will download the file Scoping_Review-Data.xlsx from the Pandemic PACT Figshare repository into the current working directory.
Read the Pandemic PACT tracker dataset and data dictionary
To read the Pandemic PACT tracker dataset into R, issue the following command:
pact_read_figshare(pact_client)which outputs a data.frame with 4637 records and 860 fields.
#> # A tibble: 4,637 × 860
#> PactID Grant.Number Grant.Title.Original Grant.Title.Eng
#> <chr> <chr> <chr> <chr>
#> 1 C00153 unknown Serological studies to quantify SARS-CoV… "Serological s…
#> 2 C00154 unknown African COVID-19 Preparedness (AFRICO19) "African COVID…
#> 3 C00155 unknown COVID-19 Intervention Modelling for East… "COVID-19 Inte…
#> 4 C00156 unknown The African coaLition for Epidemic Resea… "The African c…
#> 5 C00157 unknown Characterization of SARS-CoV-2 transmiss… "Characterizat…
#> 6 C00158 unknown Investigation of pre-existing immunity t… "Investigation…
#> 7 C00159 unknown A comprehensive study of immunopathogene… ""
#> 8 C00160 MC_PC_19012 Centre for Global Infectious Disease Ana… "Centre for Gl…
#> 9 C00161 MC_PC_19025 ISARIC - Coronavirus Clinical Characteri… "ISARIC - Coro…
#> 10 C00162 MC_PC_19026 MRC Centre for Virus Research (MRC CVR) … "MRC Centre fo…
#> # ℹ 4,627 more rows
#> # ℹ 856 more variables: Award.Amount.Converted <dbl>, Abstract.Eng <chr>,
#> # Laysummary <chr>, ODA.funding.used <chr>, Grant.Type <chr>,
#> # Grant.Start.Year <int>, Study.Subject..choice.Animals. <chr>,
#> # Study.Subject..choice.Bacteria. <chr>,
#> # Study.Subject..choice.Human.Populations. <chr>,
#> # Study.Subject..choice.Disease.Vectors. <chr>, …This function reads the labelled tracker dataset by default. If the raw dataset is required, then issue the following command:
pact_read_figshare(pact_client, tracker_type = "raw")which outputs a data.frame with 4638 records and 860 fields.
#> # A tibble: 4,638 × 860
#> pactid grant_number grant_title_original grant_title_eng
#> <chr> <chr> <chr> <chr>
#> 1 SDS001 unknown Dummy record "Dummy record"
#> 2 C00153 unknown Serological studies to quantify SARS-CoV… "Serological s…
#> 3 C00154 unknown African COVID-19 Preparedness (AFRICO19) "African COVID…
#> 4 C00155 unknown COVID-19 Intervention Modelling for East… "COVID-19 Inte…
#> 5 C00156 unknown The African coaLition for Epidemic Resea… "The African c…
#> 6 C00157 unknown Characterization of SARS-CoV-2 transmiss… "Characterizat…
#> 7 C00158 unknown Investigation of pre-existing immunity t… "Investigation…
#> 8 C00159 unknown A comprehensive study of immunopathogene… ""
#> 9 C00160 MC_PC_19012 Centre for Global Infectious Disease Ana… "Centre for Gl…
#> 10 C00161 MC_PC_19025 ISARIC - Coronavirus Clinical Characteri… "ISARIC - Coro…
#> # ℹ 4,628 more rows
#> # ℹ 856 more variables: award_amount_converted <dbl>, abstract <chr>,
#> # laysummary <chr>, oda_funding_used <int>, grant_type <int>,
#> # grant_start_year <int>, study_subject___1 <int>, study_subject___2 <int>,
#> # study_subject___3 <int>, study_subject___4 <int>, study_subject___5 <int>,
#> # study_subject___6 <int>, study_subject____88 <int>,
#> # study_subject____99 <int>, study_subject____9999 <int>, …Process the Pandemic PACT tracker dataset
pact_read_figshare(pact_client) |>
pact_process_figshare()#> # A tibble: 4,637 × 37
#> PactID Grant.Number Grant.Title.Original Grant.Title.Eng
#> <chr> <chr> <chr> <chr>
#> 1 C00153 unknown Serological studies to quantify SARS-CoV… "Serological s…
#> 2 C00154 unknown African COVID-19 Preparedness (AFRICO19) "African COVID…
#> 3 C00155 unknown COVID-19 Intervention Modelling for East… "COVID-19 Inte…
#> 4 C00156 unknown The African coaLition for Epidemic Resea… "The African c…
#> 5 C00157 unknown Characterization of SARS-CoV-2 transmiss… "Characterizat…
#> 6 C00158 unknown Investigation of pre-existing immunity t… "Investigation…
#> 7 C00159 unknown A comprehensive study of immunopathogene… ""
#> 8 C00160 MC_PC_19012 Centre for Global Infectious Disease Ana… "Centre for Gl…
#> 9 C00161 MC_PC_19025 ISARIC - Coronavirus Clinical Characteri… "ISARIC - Coro…
#> 10 C00162 MC_PC_19026 MRC Centre for Virus Research (MRC CVR) … "MRC Centre fo…
#> # ℹ 4,627 more rows
#> # ℹ 33 more variables: Award.Amount.Converted <dbl>, Abstract.Eng <chr>,
#> # Laysummary <chr>, ODA.funding.used <chr>, Grant.Type <chr>,
#> # Grant.Start.Year <int>, Study.Subject <list>, Ethnicity <list>,
#> # Age.Groups <list>, Rurality <list>, Vulnerable.Population <list>,
#> # Occupational.Groups <list>, Study.Type <list>, Clinical.Trial <list>,
#> # report <chr>, Pathogen <list>, Pathogen.Specific <list>, Disease <list>, …For a more detailed discussion of the usage and limitations of the pactr Figshare functions, see this vignette.
Usage - website data workflow
Download the Pandemic PACT tracker dataset from the website
To download the Pandemic PACT tracker dataset available from its website, the following command can be used:
## Save the dataset from website to a temporary directory ----
pact_download_website(path = tempdir())which will return the path to the downloaded dataset:
Read the Pandemic PACT tracker dataset from the website
Instead of downloading, the Pandemic PACT dataset available from its website can be read into R directly as follows:
which results in the following:
#> # A tibble: 29,583 × 50
#> GrantID PubMedGrantId OutbreakIds GrantTitleOriginal GrantTitleEng
#> <chr> <chr> <lgl> <chr> <chr>
#> 1 C00018 unknown NA "Mathematical mod… "Mathematica…
#> 2 C00019 CCP-nCoV NA "Cohort follow-up… "Cohort foll…
#> 3 C00020 THERAMAB NA "Identification a… "Identificat…
#> 4 C00021 None NA "Using social sci… "Using socia…
#> 5 C00022 CoV-CONTACT NA "Follow-up of sub… "Follow-up o…
#> 6 C00023 Réplicon NA "Development of a… "Development…
#> 7 C00024 A Toolbox for SARS-CoV-… NA "Potentiating exi… "Potentiatin…
#> 8 C00025 NHP Model NA "Establishment of… "Establishme…
#> 9 C00026 SARS-CoV2-LIPS NA "Antibody profili… "Antibody pr…
#> 10 C00027 SARS-CoV-2_EVOLSERO NA "Evolution of SAR… "Evolution o…
#> # ℹ 29,573 more rows
#> # ℹ 45 more variables: AbstractOriginal <chr>, Abstract <chr>,
#> # GrantStartYear <int>, PublicationYearOfAward <int>, GrantEndYear <chr>,
#> # ResearchInstitutionName <chr>, HundredDaysMissionFlag <int>,
#> # GrantAmountConverted <dbl>, StudySubject <chr>, Ethnicity <chr>,
#> # AgeGroups <chr>, Rurality <chr>, VulnerablePopulations <chr>,
#> # OccupationalGroups <chr>, StudyType <chr>, ClinicalTrial <chr>, …Process the Pandemic PACT tracker dataset from the website
The package includes functions that will process the Pandemic PACT tracker dataset into specific structures and aggregations that will allow for further plotting and reporting of similar outputs that are currently presented in the Pandemic PACT website.
For example, the following will process the Pandemic PACT tracker dataset into an aggregated dataset structure that can be used to create a similar plot to the one presented in the website.
pact_read_website() |>
pact_process_website() |>
pact_table_topic_group(topic = "Diseases", group = "GrantStartYear")which produces the following output:
#> # A tibble: 237 × 5
#> GrantStartYear Diseases n_grants n_grants_specified grant_amount_total
#> <int> <chr> <int> <int> <dbl>
#> 1 2020 Bacterial infe… 62 62 30158411.
#> 2 2020 COVID-19 12507 9681 13000159989.
#> 3 2020 Chikungunya ha… 53 53 41394597.
#> 4 2020 Cholera 42 42 30913343.
#> 5 2020 Congenital inf… 21 20 9896921.
#> 6 2020 Crimean-Congo … 39 39 27760800.
#> 7 2020 Dengue 145 145 113728877.
#> 8 2020 Disease X 180 176 408947570.
#> 9 2020 Disorder cause… 12 12 6696306
#> 10 2020 Ebola 127 124 78097439.
#> # ℹ 227 more rowswhich in turn can be plotted as follows:

or alternatively:

For a more detailed discussion of the usage and limitations of the pactr website dataset functions, see this vignette.
Citation
To cite the pactr package, please use the suggested citation provided by a call to the citation() function as follows:
citation("pactr")
#> To cite pactr in publications use:
#>
#> Ernest Guevarra (2026). _pactr: An Interface to the Pandemic PACT
#> Repository_. R package version 0.0.9009,
#> <https://oxford-ihtm.io/pactr/>.
#>
#> A BibTeX entry for LaTeX users is
#>
#> @Manual{,
#> title = {pactr: An Interface to the Pandemic PACT Repository},
#> author = {{Ernest Guevarra}},
#> year = {2026},
#> note = {R package version 0.0.9009},
#> url = {https://oxford-ihtm.io/pactr/},
#> }To cite the Pandemic PACT Tracker dataset, please use the suggested citation provided by a call to the pact_cite() function as follows:
## cite the labelled version of the tracker dataset
pact_cite(pact_client, id = 24763548)
#> To cite Pandemic PACT Grant Tracker (labelled) in publications use:
#>
#> Pandemic PACT team (2023). "Pandemic PACT Grant Tracker (labelled).
#> dataset version 1." doi:10.25446/oxford.24763548.v1
#> <https://doi.org/10.25446/oxford.24763548.v1>.
#>
#> A BibTeX entry for LaTeX users is
#>
#> @Misc{,
#> title = {Pandemic PACT Grant Tracker (labelled). dataset version 1},
#> author = {{Pandemic PACT team}},
#> year = {2023},
#> doi = {10.25446/oxford.24763548.v1},
#> }Disclaimer
This project is an independent effort by Oxford iHealth in support of related analytics and research using the Pandemic PACT dataset. This project is not recognised by the Pandemic PACT project. Any issues or problems arising from using the pactr package or from participating or contributing to the development of this project are the responsibility of the authors and maintainers of this project and should be addressed to them accordingly and not to the Pandemic PACT project.
Community guidelines
Feedback, bug reports and feature requests are welcome; file issues or seek support here. If you would like to contribute to the package, please see our contributing guidelines.
This project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
If you are interested in Oxford iHealth’s work and would like to join the community or contribute to it’s various projects, visit the Oxford iHealth website and its community page to learn more.

