rdhs

API Client and Data Munging for the Demographic and Health Survey Data

https://github.com/ropensci/rdhs

Science Score: 59.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    3 of 9 committers (33.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (18.8%) to scientific vocabulary

Keywords

dataset dhs dhs-api extract peer-reviewed r r-package rstats survey-data
Last synced: 4 months ago · JSON representation

Repository

API Client and Data Munging for the Demographic and Health Survey Data

Basic Info
Statistics
  • Stars: 37
  • Watchers: 7
  • Forks: 10
  • Open Issues: 36
  • Releases: 6
Topics
dataset dhs dhs-api extract peer-reviewed r r-package rstats survey-data
Created almost 8 years ago · Last pushed 10 months ago
Metadata Files
Readme Changelog Contributing License Codemeta

README.Rmd

---
output:
  rmarkdown::github_document
---



```{r, echo = FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  fig.path = "README-"
)
```

# rdhs 

[![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)
[![R-CMD-check](https://github.com/ropensci/rdhs/workflows/R-CMD-check/badge.svg)](https://github.com/ropensci/rdhs/actions)
[![codecov.io](https://codecov.io/github/ropensci/rdhs/coverage.svg?branch=main)](https://app.codecov.io/github/ropensci/rdhs?branch=main)
[![Documentation via pkgdown](https://github.com/ropensci/rdhs/raw/main/tools/pkgdownshield.png)](https://docs.ropensci.org/rdhs/)
[![CRAN Downloads](https://cranlogs.r-pkg.org/badges/rdhs)](https://cran.r-project.org/package=rdhs)
[![Downloads from Rstudio mirror](https://cranlogs.r-pkg.org/badges/grand-total/rdhs)](https://www.r-pkg.org:443/pkg/rdhs)
[![CRAN_Status_Badge](https://www.r-pkg.org/badges/version/rdhs)](https://cran.r-project.org/package=rdhs)
[![rOpenSci](https://badges.ropensci.org/238_status.svg)](https://github.com/ropensci/software-review/issues/238)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.2423635.svg)](https://doi.org/10.5281/zenodo.2423635)

## Motivation

The Demographic and Health Surveys (DHS) Program has collected population survey data from over 90 countries for over 30 years. In many countries, DHS provide the key data that mark progress towards targets such as the Sustainable Development Goals (SDGs) and inform health policy. Though standard health indicators are routinely published in survey final reports, much of the value of DHS is derived from the ability to download and analyse standardized microdata datasets for subgroup analysis, pooled multi-country analysis, and extended research studies. The suite of tools within `rdhs` improves the accessibility of these datasets for statistical analysis with R, with aim to support reproducible global health research and simplify common analytical pipelines.

 > For questions regarding how to analyse DHS survey data, please read the DHS website's data section first. If you have any questions after this then please create an [issue](https://github.com/ropensci/rdhs/issues) with your question. It is really likely that your question will help other people and so posting them publically as an issue may help others with similar questions.

---

`rdhs` is a package for management and analysis of [Demographic and Health Survey (DHS)](https://www.dhsprogram.com) data. This includes functionality to:

1. Access standard indicator data (i.e. [DHS STATcompiler](https://www.statcompiler.com/)) in R via the [DHS API](https://api.dhsprogram.com/).
1. Identify surveys and datasets relevant to a particular analysis.
1. Download survey datasets from the [DHS website](https://dhsprogram.com/data/available-datasets.cfm).
1. Load datasets and associated metadata into R.
1. Extract variables and combining datasets for pooled multi-survey analyses.

## Installation

You can install the latest version from [`CRAN`](https://cran.r-project.org/package=rdhs) using:

```{r cran-installation, message=FALSE, eval = FALSE}
install.packages("rdhs")
```

You can also install the development version of `rdhs` with the latest patches from github with:

```{r gh_installation, message=FALSE, eval = FALSE}
#install.packages("devtools")
devtools::install_github("ropensci/rdhs")
```

```{r}
# Load the package
library(rdhs)
```

## Getting started

To be able to **download survey datasets from the DHS website**, you will need to **set up an account with the DHS website**, which will enable you to request access to the datasets. Instructions on how to do this can be found [here](https://dhsprogram.com/data/Access-Instructions.cfm). The email, password, and project name that were used to create the account will then need to be provided to `rdhs` when attempting to download datasets. 

---

* Request dataset access from the DHS website [here](https://dhsprogram.com/data/Access-Instructions.cfm).

* Full functionality is described in the tutorial [here](https://docs.ropensci.org/rdhs/articles/introduction.html).

* An example workflow using `rdhs` to calculate trends in anemia prevalence is available [here](https://docs.ropensci.org/rdhs/articles/anemia.html).

## Basic Functionality

### Query the [DHS API](https://api.dhsprogram.com/).

Obtain survey estimates for Malaria prevalence among children from the Democratic Republic of Congo and Tanzania in the last 5 years (since 2013) that included rapid diagnostic tests (RDTs).

```{r api, message = FALSE}
dhs_indicators(indicatorIds = "ML_PMAL_C_RDT", returnFields=c("IndicatorId", "ShortName"))

dhs_data(countryIds = c("CD","TZ"), indicatorIds = "ML_PMAL_C_RDT", surveyYearStart = 2013,
       returnFields=c("Indicator", "SurveyId", "Value", "SurveyYearLabel", "CountryName"))
```

### Identify survey datasets

Now, obtain survey microdatasets to analyze these same indicators. Query the *surveyCharacteristics* endpoint to identify the survey characteristic ID for malaria RDT testing.

```{r sc}
## call with no arguments to return all characterstics
sc <- dhs_survey_characteristics()
sc[grepl("Malaria", sc$SurveyCharacteristicName), ]
```

Use `dhs_surveys()` identify surveys for the countries and years of interest.

```{r surv}
## what are the countryIds - we can find that using this API request
ids <- dhs_countries(returnFields=c("CountryName", "DHS_CountryCode"))

## find all the surveys that match the search criteria
survs <- dhs_surveys(surveyCharacteristicIds = 89, countryIds = c("CD","TZ"), surveyYearStart = 2013)
```

Lastly, identify the datasets required for download. By default, the recommended option is to download either the spss (.sav), `fileFormat = "SV"`, or the flat file (.dat), `fileFormat = "FL"` datasets. The flat is quicker, but there are still one or two very old datasets that don't read correctly, whereas the .sav files are slower to read in but so far no datasets have been found that don't read in correctly. The household member recode (`PR`) reports the RDT status for children under five.

```{r }
datasets <- dhs_datasets(surveyIds = survs$SurveyId, fileFormat = "FL", fileType = "PR")
str(datasets)
```

### Download datasets

We can now go ahead and download our datasets. To be able to download survey datasets from the DHS website, you will need to set up an account with them to enable you to request access to the datasets. Instructions on how to do this can be found [here](https://dhsprogram.com/data/Access-Instructions.cfm). The email, password, and project name that were used to create the account will then need to be provided to `rdhs` when attempting to download datasets. 

Once we have created an account, we need to set up our credentials using the function `set_rdhs_config()`. This will require providing as arguments your `email` and `project` for which you want to download datasets from. You will then be prompted for your password.

You can also specify a directory for datasets and API calls to be cached to using `cache_path`. In order to comply with CRAN, this function will also ask you for your permission to write to files outside your temporary directory, and you must type out the filename for the `config_path` - "rdhs.json". (See [introduction vignette](https://docs.ropensci.org/rdhs/articles/introduction.html) for specific format for config, or `?set_rdhs_config`). 

```{r client , R.options = list("rappdir_permission" = TRUE)}
## login
set_rdhs_config(email = "rdhs.tester@gmail.com",
                project = "rdhs R package development",
                config_path = "rdhs.json",
                global = FALSE)
```

The path to your config is saved between sessions so you only have to set this once. With your credentials set, all API requests will be cached within the `cache_path` directory provided so that these can be returned when working remotely or with a poor internet connection.

```{r client_api_cache}
# the first time this will take a few seconds 
microbenchmark::microbenchmark(dhs_datasets(surveyYearStart = 1986),times = 1)

# after caching, results will be available instantly
microbenchmark::microbenchmark(dhs_datasets(surveyYearStart = 1986),times = 1)
```

Now download datasets by providing a list of desired dataset filenames.

```{r download, message=FALSE}
# download datasets
downloads <- get_datasets(datasets$FileName)

str(downloads)
```

### Load datasets into R

The `get_datasets()` function returns a vector with a file path to the saved location of the downloaded datasets. These are read using `readRDS()`:

```{r read a dataset}
# read in first dataset
cdpr <- readRDS(downloads$CDPR61FL)
```

Value labels are stored as attributes to each of the columns of the data frame using the `labelled` class (see `haven::labelled` or our introduction vignette for more details). Variable labels are stored in the `label` attribute.

### Extract variables and pool datasets

The client also caches all variable labels to quickly query variables in each survey *without* loading the datasets.

```{r questions}
# rapid diagnostic test search
vars <- search_variable_labels(datasets$FileName, search_terms = "malaria rapid test")
```

Then extract these variables from the datasets. Optionally, geographic data may be added.

```{r extract_questions}
# and now extract the data
extract <- extract_dhs(vars, add_geo = FALSE)
```

The returned object is a list of extracted datasets.

Dataset extracts can alternate be specified by providing a vector of surveys and vector of variable names:

```{r extract_variables}
# and grab the questions from this now utilising the survey variables
vars <- search_variables(datasets$FileName, variables = c("hv024","hml35"))

# and now extract the data
extract <- extract_dhs(vars, add_geo = FALSE)
```

Finally, the two datasets are pooled using the function `rbind_labelled()`. This function works specifically with our lists of labelled `data.frame`s. Labels are specified for each variable: for `hv024` all labels are retained (concatenate) but for `hml35` labels across both datasets to be "Neg" and "Pos".

```{r rbind_labelled}
# now let's try our second extraction
extract <- rbind_labelled(extract,
                          labels = list("hv024" = "concatenate",
                                        "hml35" = c("Neg"=0, "Pos"=1)))
```


There is also an option to process downloaded datasets with labelled variables coded as strings, rather than labelled variables. This is specified by the argument `reformat=TRUE`.

```{r reformat}
# identify questions but specifying the reformat argument
questions <- search_variables(datasets$FileName, variables = c("hv024", "hml35"),
                                     reformat=TRUE)

# and now extract the data
extract <- extract_dhs(questions, add_geo = FALSE)

# group our results
extract <- rbind_labelled(extract)

# our hv024 variable is now just character strings, so you can decide when/how to factor/label it later
str(extract)
```

Owner

  • Name: rOpenSci
  • Login: ropensci
  • Kind: organization
  • Email: info@ropensci.org
  • Location: Berkeley, CA

CodeMeta (codemeta.json)

{
  "@context": "https://doi.org/10.5063/schema/codemeta-2.0",
  "@type": "SoftwareSourceCode",
  "identifier": "rdhs",
  "description": "Provides a client for (1) querying the DHS API for survey indicators and metadata (<https://api.dhsprogram.com/#/index.html>), (2) identifying surveys and datasets for analysis, (3) downloading survey datasets from the DHS website, (4) loading datasets and associate metadata into R, and (5) extracting variables and combining datasets for pooled analysis.",
  "name": "rdhs: API Client and Dataset Management for the Demographic and Health Survey (DHS) Data",
  "codeRepository": "https://github.com/ropensci/rdhs",
  "issueTracker": "https://github.com/ropensci/rdhs/issues",
  "license": "https://spdx.org/licenses/MIT",
  "version": "0.8.0",
  "programmingLanguage": {
    "@type": "ComputerLanguage",
    "name": "R",
    "url": "https://r-project.org"
  },
  "runtimePlatform": "R version 4.3.1 (2023-06-16)",
  "provider": {
    "@id": "https://cran.r-project.org",
    "@type": "Organization",
    "name": "Comprehensive R Archive Network (CRAN)",
    "url": "https://cran.r-project.org"
  },
  "author": [
    {
      "@type": "Person",
      "givenName": "OJ",
      "familyName": "Watson",
      "email": "oj.watson@hotmail.co.uk",
      "@id": "https://orcid.org/0000-0003-2374-0741"
    },
    {
      "@type": "Person",
      "givenName": "Jeff",
      "familyName": "Eaton",
      "@id": "https://orcid.org/0000-0001-7728-728X"
    }
  ],
  "maintainer": [
    {
      "@type": "Person",
      "givenName": "OJ",
      "familyName": "Watson",
      "email": "oj.watson@hotmail.co.uk",
      "@id": "https://orcid.org/0000-0003-2374-0741"
    }
  ],
  "softwareSuggestions": [
    {
      "@type": "SoftwareApplication",
      "identifier": "testthat",
      "name": "testthat",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=testthat"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "knitr",
      "name": "knitr",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=knitr"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "rmarkdown",
      "name": "rmarkdown",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=rmarkdown"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "ggplot2",
      "name": "ggplot2",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=ggplot2"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "survey",
      "name": "survey",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=survey"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "data.table",
      "name": "data.table",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=data.table"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "microbenchmark",
      "name": "microbenchmark",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=microbenchmark"
    }
  ],
  "softwareRequirements": {
    "1": {
      "@type": "SoftwareApplication",
      "identifier": "R",
      "name": "R",
      "version": ">= 3.3.0"
    },
    "2": {
      "@type": "SoftwareApplication",
      "identifier": "brio",
      "name": "brio",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=brio"
    },
    "3": {
      "@type": "SoftwareApplication",
      "identifier": "R6",
      "name": "R6",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=R6"
    },
    "4": {
      "@type": "SoftwareApplication",
      "identifier": "httr",
      "name": "httr",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=httr"
    },
    "5": {
      "@type": "SoftwareApplication",
      "identifier": "jsonlite",
      "name": "jsonlite",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=jsonlite"
    },
    "6": {
      "@type": "SoftwareApplication",
      "identifier": "foreign",
      "name": "foreign",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=foreign"
    },
    "7": {
      "@type": "SoftwareApplication",
      "identifier": "magrittr",
      "name": "magrittr",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=magrittr"
    },
    "8": {
      "@type": "SoftwareApplication",
      "identifier": "rappdirs",
      "name": "rappdirs",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=rappdirs"
    },
    "9": {
      "@type": "SoftwareApplication",
      "identifier": "digest",
      "name": "digest",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=digest"
    },
    "10": {
      "@type": "SoftwareApplication",
      "identifier": "storr",
      "name": "storr",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=storr"
    },
    "11": {
      "@type": "SoftwareApplication",
      "identifier": "xml2",
      "name": "xml2",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=xml2"
    },
    "12": {
      "@type": "SoftwareApplication",
      "identifier": "qdapRegex",
      "name": "qdapRegex",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=qdapRegex"
    },
    "13": {
      "@type": "SoftwareApplication",
      "identifier": "getPass",
      "name": "getPass",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=getPass"
    },
    "14": {
      "@type": "SoftwareApplication",
      "identifier": "haven",
      "name": "haven",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=haven"
    },
    "15": {
      "@type": "SoftwareApplication",
      "identifier": "iotools",
      "name": "iotools",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=iotools"
    },
    "16": {
      "@type": "SoftwareApplication",
      "identifier": "sf",
      "name": "sf",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=sf"
    },
    "17": {
      "@type": "SoftwareApplication",
      "identifier": "cli",
      "name": "cli",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=cli"
    },
    "18": {
      "@type": "SoftwareApplication",
      "identifier": "rlang",
      "name": "rlang",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=rlang"
    },
    "SystemRequirements": null
  },
  "fileSize": "1660.255KB",
  "citation": [
    {
      "@type": "ScholarlyArticle",
      "datePublished": "2019",
      "author": [
        {
          "@type": "Person",
          "givenName": [
            "Oliver",
            "J"
          ],
          "familyName": "Watson"
        },
        {
          "@type": "Person",
          "givenName": "Rich",
          "familyName": "FitzJohn"
        },
        {
          "@type": "Person",
          "givenName": [
            "Jeffrey",
            "W"
          ],
          "familyName": "Eaton"
        }
      ],
      "name": "rdhs: an R package to interact with The Demographic and Health Surveys (DHS) Program datasets",
      "identifier": "10.12688/wellcomeopenres.15311.1",
      "url": "https://wellcomeopenresearch.org/articles/4-103/v1",
      "pagination": "103",
      "@id": "https://doi.org/10.12688/wellcomeopenres.15311.1",
      "sameAs": "https://doi.org/10.12688/wellcomeopenres.15311.1",
      "isPartOf": {
        "@type": "PublicationIssue",
        "datePublished": "2019",
        "isPartOf": {
          "@type": [
            "PublicationVolume",
            "Periodical"
          ],
          "volumeNumber": "4",
          "name": "Wellcome Open Research"
        }
      }
    }
  ],
  "relatedLink": [
    "https://docs.ropensci.org/rdhs/",
    "https://CRAN.R-project.org/package=rdhs"
  ],
  "releaseNotes": "https://github.com/ropensci/rdhs/blob/master/NEWS.md",
  "readme": "https://github.com/ropensci/rdhs/blob/main/README.md",
  "contIntegration": [
    "https://github.com/ropensci/rdhs/actions",
    "https://app.codecov.io/github/ropensci/rdhs?branch=main"
  ],
  "developmentStatus": "https://www.repostatus.org/#active",
  "review": {
    "@type": "Review",
    "url": "https://github.com/ropensci/software-review/issues/238",
    "provider": "https://ropensci.org"
  },
  "keywords": [
    "dataset",
    "survey-data",
    "dhs",
    "extract",
    "dhs-api",
    "peer-reviewed",
    "r",
    "r-package",
    "rstats"
  ]
}

GitHub Events

Total
  • Issues event: 9
  • Watch event: 4
  • Issue comment event: 18
  • Push event: 6
  • Pull request event: 1
  • Fork event: 1
  • Create event: 1
Last Year
  • Issues event: 9
  • Watch event: 4
  • Issue comment event: 18
  • Push event: 6
  • Pull request event: 1
  • Fork event: 1
  • Create event: 1

Committers

Last synced: almost 2 years ago

All Time
  • Total Commits: 581
  • Total Committers: 9
  • Avg Commits per committer: 64.556
  • Development Distribution Score (DDS): 0.437
Past Year
  • Commits: 16
  • Committers: 2
  • Avg Commits per committer: 8.0
  • Development Distribution Score (DDS): 0.063
Top Committers
Name Email Commits
OJWatson o****5@i****k 327
OJWatson o****n@h****k 180
jeffeaton j****n@i****k 62
Rich FitzJohn r****n@g****m 6
Jeff Eaton 7****n 2
Nicholas G Reich n****k@s****u 1
Anna Krystalli a****i@g****m 1
Lucy McGowan l****o@g****m 1
Jeroen Ooms j****s@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 75
  • Total pull requests: 30
  • Average time to close issues: about 1 year
  • Average time to close pull requests: 21 days
  • Total issue authors: 28
  • Total pull request authors: 6
  • Average comments per issue: 2.53
  • Average comments per pull request: 0.47
  • Merged pull requests: 27
  • Bot issues: 0
  • Bot pull requests: 1
Past Year
  • Issues: 3
  • Pull requests: 0
  • Average time to close issues: about 1 hour
  • Average time to close pull requests: N/A
  • Issue authors: 3
  • Pull request authors: 0
  • Average comments per issue: 0.33
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • OJWatson (36)
  • jeffeaton (9)
  • skuchukh (5)
  • aftollefsen (2)
  • marek-tph (2)
  • adejumoridwan (2)
  • truenomad (1)
  • m-maheu-giroux (1)
  • loushangdashabi (1)
  • camillebelmin (1)
  • cruzmamo (1)
  • bpatenaude (1)
  • andrewcglover (1)
  • csq-dr (1)
  • ak45y (1)
Pull Request Authors
  • OJWatson (18)
  • jeffeaton (10)
  • maelle (2)
  • nickreich (1)
  • annakrystalli (1)
  • dependabot[bot] (1)
Top Labels
Issue Labels
enhancement (25) bug (11) parser exceptions (4) wontfix (1) good first issue (1)
Pull Request Labels
dependencies (1)

Dependencies

DESCRIPTION cran
  • R >= 3.3.0 depends
  • R6 * imports
  • brio * imports
  • digest * imports
  • foreign * imports
  • getPass * imports
  • haven * imports
  • httr * imports
  • iotools * imports
  • jsonlite * imports
  • magrittr * imports
  • qdapRegex * imports
  • rappdirs * imports
  • rgdal * imports
  • storr * imports
  • xml2 * imports
  • data.table * suggests
  • ggplot2 * suggests
  • knitr * suggests
  • microbenchmark * suggests
  • rmarkdown * suggests
  • sf * suggests
  • survey * suggests
  • testthat * suggests
docs/articles/geojson_files/leaflet-binding-2.0.2/lib/leaflet-omnivore/package.json npm
  • browserify 13.0.1 development
  • jshint 2.9.2 development
  • mapbox.js 2.4.0 development
  • mocha ~2.5.3 development
  • phantomjs-prebuilt 2.1.7 development
  • st 1.2.2 development
  • tape 4.5.1 development
  • uglify-js ^2.6.2 development
  • zuul ~3.10.1 development
  • brfs 1.4.3
  • corslite 0.0.7
  • csv2geojson ~5.0.0
  • polyline 0.2.0
  • togeojson 0.13.0
  • topojson 1.6.26
  • wellknown 0.4.2
docs/articles/geojson_files/leaflet-binding-2.0.2/lib/leaflet-providers/package.json npm
  • chai ^4.1.2 development
  • eslint >=4.18.2 development
  • eslint-plugin-html ^2.0.1 development
  • mocha ^3.2.0 development
  • mocha-phantomjs-core ^2.1.1 development
  • mversion >=2.0.0 development
  • phantomjs-prebuilt ^2.1.16 development
  • uglify-js ^2.4.15 development
docs/articles/geojson_files/leaflet-binding-2.0.2/plugins/Leaflet.markercluster/package.json npm
  • jake ~0.5.16 development
  • jshint ~2.1.3 development
  • karma >=6.3.16 development
  • leaflet ~1.0.3 development
  • magic-string ^0.7.0 development
  • mocha ~1.10.0 development
  • uglify-js ~2.6.0 development
.github/workflows/R-CMD-TRAVIS-check.yaml actions
  • actions/checkout v2 composite
  • actions/upload-artifact main composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/check-standard.yaml actions
  • actions/checkout v2 composite
  • r-lib/actions/check-r-package v2 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/pkgdown.yaml actions
  • JamesIves/github-pages-deploy-action 4.1.4 composite
  • actions/checkout v2 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/test-coverage.yaml actions
  • actions/checkout v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite