stats19

stats19: A package for working with open road crash data - Published in JOSS (2019)

https://github.com/ropensci/stats19

Science Score: 95.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 7 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org, zenodo.org
  • Committers with academic emails
    1 of 14 committers (7.1%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

r r-package rstats

Keywords from Contributors

osm-data overpass-api meteorological-data weather-data

Scientific Fields

Artificial Intelligence and Machine Learning Computer Science - 40% confidence
Last synced: 4 months ago · JSON representation

Repository

R package for working with open road traffic casualty data from Great Britain

Basic Info
Statistics
  • Stars: 63
  • Watchers: 7
  • Forks: 18
  • Open Issues: 16
  • Releases: 16
Topics
r r-package rstats
Created about 7 years ago · Last pushed 12 months ago
Metadata Files
Readme Changelog Contributing License Codemeta

README.Rmd

---
output: github_document
bibliography: vignettes/references.bib
---



[![](http://www.r-pkg.org/badges/version/stats19)](https://www.r-pkg.org/pkg/stats19)
[![R-CMD-check](https://github.com/ropensci/stats19/workflows/R-CMD-check/badge.svg)](https://github.com/ropensci/stats19/actions)
[![CRAN RStudio mirror downloads](https://cranlogs.r-pkg.org/badges/grand-total/stats19)](https://www.r-pkg.org/pkg/stats19)
[![Life cycle](https://img.shields.io/badge/lifecycle-stable-brightgreen.svg)](https://lifecycle.r-lib.org/articles/stages.html)
[![](https://badges.ropensci.org/266_status.svg)](https://github.com/ropensci/software-review/issues/266)
[![DOI](https://joss.theoj.org/papers/10.21105/joss.01181/status.svg)](https://doi.org/10.21105/joss.01181)
![codecov](https://codecov.io/gh/ropensci/stats19/branch/master/graph/badge.svg)







```{r setup, include = FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  fig.path = "man/figures/README-",
  out.width = "100%"
)
```

# stats19 

**stats19** provides functions for downloading and formatting road crash data.
Specifically, it enables access to the UK's official road traffic casualty database, [STATS19](https://www.data.gov.uk/dataset/cb7ae6f0-4be6-4935-9277-47e5ce24a11f/road-accidents-safety-data). (The name comes from the form used by the police to record car crashes and other incidents resulting in casualties on the roads.)

The raw data is provided as a series of `.csv` files that contain integers and which are stored in dozens of `.zip` files.
Finding, reading-in and formatting the data for research can be a time consuming process subject to human error.
**stats19** speeds up these vital but boring and error-prone stages of the research process with a single function: `get_stats19()`.
By allowing public access to properly labelled road crash data, **stats19** aims to make road safety research more reproducible and accessible.

For transparency and modularity, each stage can be undertaken separately, as documented in the [stats19 vignette](https://itsleeds.github.io/stats19/articles/stats19.html).

The package has now been peer reviewed and is stable, and has been published in the Journal of Open Source Software [@lovelace_stats19_2019].
Please tell people about the package, link to it and cite it if you use it in your work.

## Installation

Install and load the latest version with:

```{r eval=FALSE}
remotes::install_github("ropensci/stats19")
```

```{r attach}
library(stats19)
```

You can install the released version of stats19 from [CRAN](https://cran.r-project.org/package=stats19) with:

```r
install.packages("stats19")
```

Load the development version of the package from this repository with:

```{r eval=FALSE}
devtools::load_all()
```

## get_stats19()

`get_stats19()` requires `year` and `type` parameters, mirroring the provision of STATS19 data files, which are categorised by year (from 1979 onward) and type (with separate tables for crashes, casualties and vehicles, as outlined below).
The following command, for example, gets crash data from 2023 (**note**: we follow the "crash not accident" campaign of [RoadPeace](https://www.roadpeace.org/working-for-change/crash-not-accident/) in naming crashes, although the DfT refers to the relevant tables as 'accidents' data):

```{r}
crashes = get_stats19(year = 2023, type = "collision")
```

What just happened?
For the `year` 2023 we read-in crash-level (`type = "collision"`) data on all road crashes recorded by the police across Great Britain.
The dataset contains `r ncol(crashes)` columns (variables) for `r format(nrow(crashes), big.mark = ",")` crashes.
We were not asked to download the file (by default you are asked to confirm the file that will be downloaded).
The contents of this dataset, and other datasets provided by **stats19**, are outlined below and described in more detail in the [stats19 vignette](https://itsleeds.github.io/stats19/articles/stats19.html).

We will see below how the function also works to get the corresponding casualty and vehicle datasets for 2023.
The package also allows STATS19 files to be downloaded and read-in separately, allowing more control over what you download, and subsequently read-in, with `read_collisions()`, `read_casualties()` and `read_vehicles()`, as described in the vignette.


## Data download

Data files can be downloaded without reading them in using the function `dl_stats19()`.
If there are multiple matches, you will be asked to choose from a range of options.
Providing just the year, for example, will result in the following options:

```{r dl2023-all, eval=FALSE}
dl_stats19(year = 2023, data_dir = tempdir())
```

```
Multiple matches. Which do you want to download?

1: dft-road-casualty-statistics-casualty-2023.csv
2: dft-road-casualty-statistics-vehicle-2023.csv
3: dft-road-casualty-statistics-collision-2023.csv

Selection: 
Enter an item from the menu, or 0 to exit
```

## Using the data

STATS19 data consists of 3 main tables:

- Collisions, the main table which contains information on the crash time, location and other variables (`r ncol(accidents_sample)` columns in total)
- Casualties, containing data on people hurt or killed in each crash (`r ncol(casualties_sample)` columns in total)
- Vehicles, containing data on vehicles involved in or causing each crash (`r ncol(vehicles_sample)` columns in total)

The contents of each is outlined below.

### Crash data

Crash data was downloaded and read-in using the function `get_stats19()`, as described above.

```{r read2023-raw-format}
nrow(crashes)
ncol(crashes)
```

Some of the key variables in this dataset include:

```{r crashes2023-columns}
key_column_names = grepl(pattern = "severity|speed|pedestrian|light_conditions", x = names(crashes))
crashes[key_column_names]
```

For the full list of columns, run `names(crashes)` or see the [vignette](https://github.com/ropensci/stats19/blob/master/vignettes/stats19.Rmd).



### Casualties data

As with `crashes`, casualty data for 2023 can be downloaded, read-in and formatted as follows:

```{r 2023-cas}
casualties = get_stats19(year = 2023, type = "casualty", ask = FALSE, format = TRUE)
nrow(casualties)
ncol(casualties)
```

The results show that there were `r format(nrow(casualties), big.mark=",")` casualties reported by the police in the STATS19 dataset in 2023, and `r ncol(casualties)` columns (variables).
Values for a sample of these columns are shown below:

```{r 2023-cas-columns}
casualties[c(4, 5, 6, 14)]
```

The full list of column names in the `casualties` dataset is:

```{r 2023-cas-columns-all}
names(casualties)
```

### Vehicles data

Data for vehicles involved in crashes in 2023 can be downloaded, read-in and formatted as follows:

```{r dl2023-vehicles}
vehicles = get_stats19(year = 2023, type = "vehicle", ask = FALSE, format = TRUE)
nrow(vehicles)
ncol(vehicles)
```

The results show that there were `r format(nrow(vehicles), big.mark=",")` vehicles involved in crashes reported by the police in the STATS19 dataset in 2023, with `r ncol(vehicles)` columns (variables).
Values for a sample of these columns are shown below:

```{r 2023-veh-columns}
vehicles[c(3, 14:16)]
```

The full list of column names in the `vehicles` dataset is:

```{r 2023-veh-columns-all}
names(vehicles)
```

## Creating geographic crash data

An important feature of STATS19 data is that the collision table contains geographic coordinates.
These are provided at ~10m resolution in the UK's official coordinate reference system (the Ordnance Survey National Grid, EPSG code 27700).
**stats19** converts the non-geographic tables created by `format_collisions()` into the geographic data form of the [`sf` package](https://cran.r-project.org/package=sf) with the function `format_sf()` as follows:

```{r format-crashes-sf}
crashes_sf = format_sf(crashes)
```

The note arises because `NA` values are not permitted in `sf` coordinates, and so rows containing no coordinates are automatically removed.
Having the data in a standard geographic form allows various geographic operations to be performed on it.
The following code chunk, for example, returns all crashes within the boundary of West Yorkshire (which is contained in the object [`police_boundaries`](https://itsleeds.github.io/stats19/reference/police_boundaries.html), an `sf` data frame containing all police jurisdictions in England and Wales). 

```{r crashes-leeds}
library(sf)
library(dplyr)
wy = filter(police_boundaries, pfa16nm == "West Yorkshire")
crashes_wy = crashes_sf[wy, ]
nrow(crashes_sf)
nrow(crashes_wy)
```

This subsetting has selected the `r format(nrow(crashes_wy), big.mark = ",")`
crashes which occurred within West Yorkshire in 2023.


## Joining tables

The three main tables we have just read-in can be joined by shared key variables.
This is demonstrated in the code chunk below, which subsets all casualties that took place in Leeds, and counts the number of casualties by severity for each crash:

```{r table-join, message = FALSE}
sel = casualties$accident_index %in% crashes_wy$accident_index
casualties_wy = casualties[sel, ]
names(casualties_wy)
cas_types = casualties_wy %>%
  select(accident_index, casualty_type) %>%
  mutate(n = 1) %>%
  group_by(accident_index, casualty_type) %>%
  summarise(n = sum(n)) %>%
  tidyr::spread(casualty_type, n, fill = 0)
cas_types$Total = rowSums(cas_types[-1])
cj = left_join(crashes_wy, cas_types, by = "accident_index")
```

What just happened? We found the subset of casualties that took place in West Yorkshire with reference to the `accident_index` variable.
Then we used functions from the **tidyverse** package **dplyr** (and `spread()` from **tidyr**) to create a dataset with a column for each casualty type.
We then joined the updated casualty data onto the `crashes_wy` dataset.
The result is a spatial (`sf`) data frame of crashes in Leeds, with columns counting how many road users of different types were hurt.
The original and joined data look like this:

```{r table-join-examples}
crashes_wy %>%
  select(accident_index, accident_severity) %>% 
  st_drop_geometry()
cas_types[1:2, c("accident_index", "Cyclist")]
cj[1:2, c(1, 5, 34)] %>% st_drop_geometry()
```

## Mapping crashes

The join operation added a geometry column to the casualty data, enabling it to be mapped (for more advanced maps, see the [vignette](https://itsleeds.github.io/stats19/articles/stats19.html)):

```{r}
cex = cj$Total / 3
plot(cj["speed_limit"], cex = cex)
```

The spatial distribution of crashes in West Yorkshire clearly relates to the region's geography.
Crashes tend to happen on busy Motorway roads (with a high speed limit, of 70 miles per hour, as shown in the map above) and city centres, of Leeds and Bradford in particular.
The severity and number of people hurt (proportional to circle width in the map above) in crashes is related to the speed limit.

STATS19 data can be used as the basis of road safety research.
The map below, for example, shows the results of an academic paper on the social, spatial and temporal distribution of bike crashes in West Yorkshire, which estimated the number of crashes per billion km cycled based on commuter cycling as a proxy for cycling levels overall (more sophisticated measures of cycling levels are now possible thanks to new data sources) [@lovelace_who_2016]:

```{r, echo=FALSE}
knitr::include_graphics("https://ars.els-cdn.com/content/image/1-s2.0-S136984781500039X-gr9.jpg")
```

## Time series analysis

We can also explore seasonal trends in crashes by aggregating crashes by day of the year:

```{r crash-date-plot}
library(ggplot2)
head(cj$date)
class(cj$date)
crashes_dates = cj %>% 
  st_set_geometry(NULL) %>% 
  group_by(date) %>% 
  summarise(
    walking = sum(Pedestrian),
    cycling = sum(Cyclist),
    passenger = sum(`Car occupant`)
    ) %>% 
  tidyr::gather(mode, casualties, -date)
ggplot(crashes_dates, aes(date, casualties)) +
  geom_smooth(aes(colour = mode), method = "loess") +
  ylab("Casualties per day")
```


Different types of crashes also tend to happen at different times of day.
This is illustrated in the plot below, which shows the times of day when people who were travelling by different modes were most commonly injured.

```{r crash-time-plot}
library(stringr)

crash_times = cj %>% 
  st_set_geometry(NULL) %>% 
  group_by(hour = as.numeric(str_sub(time, 1, 2))) %>% 
  summarise(
    walking = sum(Pedestrian),
    cycling = sum(Cyclist),
    passenger = sum(`Car occupant`)
    ) %>% 
  tidyr::gather(mode, casualties, -hour)

ggplot(crash_times, aes(hour, casualties)) +
  geom_line(aes(colour = mode))
```

Note that cycling manifests distinct morning and afternoon peaks [see @lovelace_who_2016 for more on this].

## Usage in research and policy contexts

Examples of how the package can been used for policy making include:

- Use of the package in a web app created by the library service of the UK Parliament. See commonslibrary.parliament.uk^[
Got to the following URL: commonslibrary.parliament.uk/constituency-data-traffic-accidents online
] screenshots of which from December 2019 are shown below, for details.

![](https://user-images.githubusercontent.com/1825120/70164249-bf730080-16b8-11ea-96d8-ec92c0b5cc69.png)

- Use of methods taught in the [stats19-training](https://docs.ropensci.org/stats19/articles/stats19-training.html) vignette by road safety analysts at Essex Highways and the Safer Essex Roads Partnership ([SERP](https://saferessexroads.org/)) to inform the deployment of proactive front-line police enforcement in the region (credit: Will Cubbin).

- Mention of road crash data analysis based on the package in an [article](https://www.theguardian.com/cities/2019/oct/07/a-deadly-problem-should-we-ban-suvs-from-our-cities) on urban SUVs. 
The question of how vehicle size and type relates to road safety is an important area of future research.
A starting point for researching this topic can be found in the [`stats19-vehicles`](https://docs.ropensci.org/stats19/articles/stats19-vehicles.html) vignette, representing a possible next step in terms of how the data can be used.


## Next steps

There is much important research that needs to be done to help make the transport systems in many cities safer.
Even if you're not working with UK data, we hope that the data provided by **stats19** data can help safety researchers develop new methods to better understand the reasons why people are needlessly hurt and killed on the roads.

The next step is to gain a deeper understanding of **stats19** and the data it provides.
Then it's time to pose interesting research questions, some of which could provide an evidence-base in support policies that save lives.
For more on these next steps, see the package's introductory [vignette](https://itsleeds.github.io/stats19/articles/stats19.html).

## Further information

The **stats19** package builds on previous work, including:

- code in the [bikeR](https://github.com/Robinlovelace/bikeR) repo underlying an academic paper on collisions involving cyclists
- functions in [**stplanr**](https://docs.ropensci.org/stplanr/) for downloading Stats19 data
- updated functions related to the [CyIPT](https://github.com/cyipt/stats19) project

 [![ropensci_footer](https://ropensci.org/public_images/ropensci_footer.png)](https://ropensci.org)

## References

Owner

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

JOSS Publication

stats19: A package for working with open road crash data
Published
January 16, 2019
Volume 4, Issue 33, Page 1181
Authors
R Lovelace ORCID
Institute for Transport Studies (ITS) and Leeds Institute for Data Analytics (LIDA), University of Leeds
M Morgan
Institute for Transport Studies (ITS) and Leeds Institute for Data Analytics (LIDA), University of Leeds
L Hama ORCID
Institute for Transport Studies (ITS) and Leeds Institute for Data Analytics (LIDA), University of Leeds
M Padgham ORCID
ATFutures GmbH.
Editor
Arfon Smith ORCID
Tags
stats19 crashes dft road safety

CodeMeta (codemeta.json)

{
  "@context": [
    "https://doi.org/10.5063/schema/codemeta-2.0",
    "http://schema.org"
  ],
  "@type": "SoftwareSourceCode",
  "identifier": "stats19",
  "description": "Tools to help process and analyse the UK road collision data collected using the\n  'STATS19' form. The data are provided as 'CSV' files with detailed road safety data about the\n  circumstances of personal injury road accidents in Great Britain from 1979, the types\n  (including make and model) of vehicles involved and the consequential casualties.  The\n  statistics relate only to personal injury accidents on public roads that are reported\n  to the police, and subsequently recorded, using the 'STATS19' accident reporting form. See\n  the Department for Transportation website \n  <https://www.data.gov.uk/dataset/cb7ae6f0-4be6-4935-9277-47e5ce24a11f/road-accidents-safety-data> for more\n  information on these data.",
  "name": "stats19: Work with Open Road Traffic Casualty Data from Great Britain",
  "codeRepository": "https://github.com/ITSLeeds/stats19",
  "issueTracker": "https://github.com/ITSLeeds/stats19/issues",
  "license": "https://spdx.org/licenses/GPL-3.0",
  "version": "0.1",
  "programmingLanguage": {
    "@type": "ComputerLanguage",
    "name": "R",
    "version": "3.5.2",
    "url": "https://r-project.org"
  },
  "runtimePlatform": "R version 3.5.2 (2018-12-20)",
  "author": [
    {
      "@type": "Person",
      "givenName": "Robin",
      "familyName": "Lovelace",
      "email": "rob00x@gmail.com",
      "@id": "https://orcid.org/0000-0001-5679-6536"
    },
    {
      "@type": "Person",
      "givenName": "Malcolm",
      "familyName": "Morgan",
      "email": "m.morgan1@leeds.ac.uk"
    },
    {
      "@type": "Person",
      "givenName": "Layik",
      "familyName": "Hama",
      "email": "layik.hama@gmail.com",
      "@id": "https://orcid.org/0000-0003-1912-4890"
    },
    {
      "@type": "Person",
      "givenName": "Mark",
      "familyName": "Padgham",
      "@id": "https://orcid.org/0000-0003-2172-5265"
    }
  ],
  "contributor": [
    {
      "@type": "Person",
      "givenName": "Adam",
      "familyName": "Sparks",
      "@id": "https://orcid.org/0000-0002-0061-8359"
    }
  ],
  "maintainer": [
    {
      "@type": "Person",
      "givenName": "Robin",
      "familyName": "Lovelace",
      "email": "rob00x@gmail.com",
      "@id": "https://orcid.org/0000-0001-5679-6536"
    }
  ],
  "softwareSuggestions": [
    {
      "@type": "SoftwareApplication",
      "identifier": "curl",
      "name": "curl",
      "version": ">= 3.2",
      "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=curl"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "dplyr",
      "name": "dplyr",
      "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=dplyr"
    },
    {
      "@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": "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": "lubridate",
      "name": "lubridate",
      "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=lubridate"
    },
    {
      "@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": "stringr",
      "name": "stringr",
      "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=stringr"
    },
    {
      "@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": "tidyr",
      "name": "tidyr",
      "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=tidyr"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "pkgdown",
      "name": "pkgdown",
      "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=pkgdown"
    }
  ],
  "softwareRequirements": [
    {
      "@type": "SoftwareApplication",
      "identifier": "R",
      "name": "R",
      "version": ">= 3.5.0"
    },
    {
      "@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"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "readr",
      "name": "readr",
      "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=readr"
    }
  ],
  "keywords": [
    "stats19",
    "road-safety",
    "transport",
    "car-crashes",
    "ropensci",
    "data"
  ],
  "readme": "https://github.com/ITSLeeds/stats19/blob/master/README.md",
  "fileSize": "1480.58KB",
  "contIntegration": [
    "https://travis-ci.org/ropensci/stats19",
    "https://codecov.io/gh/ropensci/stats19"
  ],
  "citation": [
    {
      "@type": "CreativeWork",
      "datePublished": "2019",
      "author": [
        {
          "@type": "Person",
          "givenName": "Robin",
          "familyName": "Lovelace",
          "email": "rob00x@gmail.com",
          "@id": "https://orcid.org/0000-0001-5679-6536"
        },
        {
          "@type": "Person",
          "givenName": "Malcolm",
          "familyName": "Morgan",
          "email": "m.morgan1@leeds.ac.uk"
        },
        {
          "@type": "Person",
          "givenName": "Layik",
          "familyName": "Hama",
          "email": "layik.hama@gmail.com",
          "@id": "https://orcid.org/0000-0003-1912-4890"
        },
        {
          "@type": "Person",
          "givenName": "Mark",
          "familyName": "Padgham",
          "@id": "https://orcid.org/0000-0003-2172-5265"
        }
      ],
      "name": "stats19: Work with Open Road Traffic Casualty Data from Great Britain",
      "url": "https://itsleeds.github.io/stats19/"
    }
  ]
}

GitHub Events

Total
  • Create event: 4
  • Release event: 2
  • Issues event: 5
  • Watch event: 2
  • Delete event: 3
  • Issue comment event: 15
  • Push event: 24
  • Pull request event: 5
  • Fork event: 1
Last Year
  • Create event: 4
  • Release event: 2
  • Issues event: 5
  • Watch event: 2
  • Delete event: 3
  • Issue comment event: 15
  • Push event: 24
  • Pull request event: 5
  • Fork event: 1

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 747
  • Total Committers: 14
  • Avg Commits per committer: 53.357
  • Development Distribution Score (DDS): 0.328
Past Year
  • Commits: 30
  • Committers: 1
  • Avg Commits per committer: 30.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Robin Lovelace r****x@g****m 502
Layik Hama l****a@g****m 132
Andrea Gilardi a****5@c****t 40
Andrea a****i@u****t 35
mpadge m****m@e****m 15
Ivo Wengraf i****f@r****g 13
Adam H. Sparks a****s@g****m 2
Jeroen Ooms j****s@g****m 2
Colin Caine c****c@c****k 1
JimUttley 4****y 1
Malcolm Morgan m****n@o****m 1
Megan m****s@g****m 1
joeytalbot j****5@g****m 1
wengraf I****f@r****g 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 89
  • Total pull requests: 63
  • Average time to close issues: 9 months
  • Average time to close pull requests: 24 days
  • Total issue authors: 23
  • Total pull request authors: 7
  • Average comments per issue: 4.2
  • Average comments per pull request: 3.1
  • Merged pull requests: 51
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 5
  • Pull requests: 6
  • Average time to close issues: about 1 hour
  • Average time to close pull requests: 1 day
  • Issue authors: 3
  • Pull request authors: 2
  • Average comments per issue: 0.0
  • Average comments per pull request: 1.0
  • Merged pull requests: 4
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • Robinlovelace (46)
  • agila5 (8)
  • layik (7)
  • wengraf (6)
  • BlaiseKelly (2)
  • cmcaine (2)
  • joeytalbot (2)
  • timcoote (1)
  • eugenividal (1)
  • markruddy (1)
  • ccamara (1)
  • gacolitti (1)
  • weijia2013 (1)
  • ananya65 (1)
  • ds221 (1)
Pull Request Authors
  • Robinlovelace (33)
  • layik (11)
  • agila5 (10)
  • BlaiseKelly (5)
  • wengraf (2)
  • joeytalbot (1)
  • R-M-J-P (1)
Top Labels
Issue Labels
help wanted (6) good first issue (3) enhancement (1) priority: high (1) question (1) bug (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • cran 719 last-month
  • Total dependent packages: 1
  • Total dependent repositories: 5
  • Total versions: 19
  • Total maintainers: 1
cran.r-project.org: stats19

Work with Open Road Traffic Casualty Data from Great Britain

  • Versions: 19
  • Dependent Packages: 1
  • Dependent Repositories: 5
  • Downloads: 719 Last month
Rankings
Forks count: 3.9%
Stargazers count: 6.3%
Downloads: 10.0%
Average: 10.3%
Dependent repos count: 13.0%
Dependent packages count: 18.1%
Maintainers (1)
Last synced: 4 months ago

Dependencies

DESCRIPTION cran
  • R >= 3.5.0 depends
  • readr * imports
  • sf * imports
  • tools * imports
  • covr * suggests
  • curl >= 3.2 suggests
  • dplyr * suggests
  • geojsonsf * suggests
  • ggplot2 * suggests
  • htmltools * suggests
  • jsonlite * suggests
  • kableExtra * suggests
  • knitr * suggests
  • leaflet * suggests
  • lubridate * suggests
  • osmdata * suggests
  • pct * suggests
  • pkgdown * suggests
  • rmarkdown * suggests
  • spatstat * suggests
  • spatstat.core * suggests
  • spatstat.geom * suggests
  • stringr * suggests
  • testthat >= 2.1.0 suggests
  • tidyr * suggests
  • tmap * suggests
.github/workflows/R-CMD-check.yaml actions
  • actions/checkout v3 composite
  • actions/upload-artifact main 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/pr-commands.yaml actions
  • actions/checkout v2 composite
  • r-lib/actions/pr-fetch v1 composite
  • r-lib/actions/pr-push v1 composite
  • r-lib/actions/setup-r v1 composite
.github/workflows/test-coverage.yaml actions
  • actions/checkout v3 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite