impindicator

Compute impact indicators of invasive alien species

https://github.com/b-cubed-eu/impindicator

Science Score: 77.0%

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

  • CITATION.cff file
    Found 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
    1 of 5 committers (20.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.5%) to scientific vocabulary

Keywords

biodiversity-indicators impact invasive-species r
Last synced: 6 months ago · JSON representation ·

Repository

Compute impact indicators of invasive alien species

Basic Info
Statistics
  • Stars: 0
  • Watchers: 2
  • Forks: 0
  • Open Issues: 3
  • Releases: 3
Topics
biodiversity-indicators impact invasive-species r
Created over 1 year ago · Last pushed 8 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct Citation Codemeta Zenodo

README.Rmd

---
output: github_document
---



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

# impIndicator 



[![repo status](https://www.repostatus.org/badges/latest/wip.svg)](https://www.repostatus.org/#wip)
[![Release](https://img.shields.io/github/release/b-cubed-eu/impIndicator.svg)](https://github.com/b-cubed-eu/impIndicator/releases)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.15052675.svg)](https://doi.org/10.5281/zenodo.15052675)
[![impIndicator status badge](https://b-cubed-eu.r-universe.dev/impIndicator/badges/version)](https://b-cubed-eu.r-universe.dev/impIndicator)
[![CRAN status](https://www.r-pkg.org/badges/version/impIndicator)](https://CRAN.R-project.org/package=impIndicator)
[![R-CMD-check](https://github.com/b-cubed-eu/impIndicator/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/b-cubed-eu/impIndicator/actions/workflows/R-CMD-check.yaml)
[![Codecov test coverage](https://codecov.io/gh/b-cubed-eu/impIndicator/graph/badge.svg)](https://app.codecov.io/gh/b-cubed-eu/impIndicator)
[![name status badge](https://b-cubed-eu.r-universe.dev/badges/:name?color=6CDDB4)](https://b-cubed-eu.r-universe.dev/)



The goal of **impIndicator** is to allow users to seamlessly calculate and visualise the impact of alien taxa and individual species in a given area. It calculates and visualises potential impact per site as a map. It takes in GBIF occurrence data and EICAT assessment data. It enables users to choose from various methods 
of calculating impact indicators based on different assumptions.

The impIndicator produces three main products:

- **overall impact indicator** with `compute_impact_indicator()`: The impact indicator offers a nuanced representation of the trends of biological invasions of an area (local, regional, or global scales). By tracking the increase and decrease of ecological threats over time, this product provides insights into the dynamics of alien species impacts, helping assess whether current management practices are effective or need adjustment. The temporal analysis of impact indicator enables targeted resource allocation, fostering proactive interventions to mitigate biodiversity loss and ecosystem degradation.
- **site impact indicator** with `compute_impact_per_site()`: The site impact as a map serves as a visual and analytical tool to represent the intensity of biological invasions across different parts of an area. By enabling spatial comparisons—such as between provinces, states, or conservation areas—, it highlights hotspots and areas at risk of invasion impact. This spatial data is useful for prioritising management actions, coordinating restoration projects, and fostering cross-regional collaboration to address alien species impacts effectively.
- **species impact indicator** with `compute_impact_per_species()`: The species impact produces the trends of individual alien species, enabling a species-specific impact attributed to invasions. This data supports comparisons of individual species’ impacts, revealing their roles and interactions within invaded area. The species impact is invaluable for prioritising species-specific management efforts, informing control and eradication strategies, and advancing research on alien species' ecological roles and adaptation patterns.

## Installation

Install **impIndicator** in R:

```r
install.packages("impIndicator", repos = c("https://b-cubed-eu.r-universe.dev", "https://cloud.r-project.org"))
```

You can install the development version from [GitHub](https://github.com/b-cubed-eu/impIndicator) with:

``` r
# install.packages("remotes")
remotes::install_github("b-cubed-eu/impIndicator")
```

## Demonstration

We demonstrate the computation and visualisation of impact indicator of biological invasions using the **impIndicator** package: `compute_impact_indicator()` to compute impact indicators of alien taxa, `compute_impact_per_species()` to compute impact indicators per species, and `compute_impact_per_site()` to compute impact indicators per site. The functions require (1) a species occurrence cube processed by the `b3gbi::process_cube()` function within `taxa_cube()`, and (2) Environmental Impact Classification for Alien Taxa (EICAT) impact score of species. Go to `vignette("Background", package = "impIndicator")` to read more about these functions.

```{r load packages, message=FALSE}
# Load packages
library(impIndicator)

library(b3gbi)     # General biodiversity indicators for data cubes
library(ggplot2)   # Visualisation
library(tidyr)     # Data wrangling
```

### Process occurrence cube

The Global Biodiversity Information Facility (GBIF) occurrence data is a standardised species dataset that documents the presence or absence of species at particular locations and time points.

```{r}
# Process cube from GBIF occurrence data in the R studio environment
acacia_cube <- taxa_cube(
  taxa = taxa_Acacia,
  region = southAfrica_sf,
  first_year = 2010
)

acacia_cube
```

### EICAT assessment data

The Environmental Impact Classification for Alien Taxa (EICAT) assessment data is the reported impact of alien taxa based on EICAT method which is the International Union for Conservation of Nature (IUCN) standard. An assessed alien taxa with adequate data is classified into massive (MV), major (MR), moderate (MO), minor (MN), or minimal concern (MC) depending on the severity of the impact caused on recipient ecosystem. Additional information such as the mechanisms and location of impact are also recorded. 
An example of an EICAT dataset is:

```{r}
# View EICAT data
head(eicat_acacia, 10)
```

### Compute impact map

The impact risk map shows the impact score for each site, where multiple species can be present. To compute the impact risk per site, aggregated scores across species at each site are needed. The `site_impact()` uses *max*, *sum* and *mean* metrics to aggregate impact scores across species as proposed by Boulesnane-Guengant et al., (in preparation). The combinations of within species aggregation metrics for each species and across species for each site leads to five methods of calculating an impact indicator, namely, **precautionary** (precaut), **precautionary cumulative** (precaut_cum), **mean**, **mean cumulative** (mean_cum) and **cumulative** (cum).

```{r}
siteImpact <- compute_impact_per_site(
  cube = acacia_cube,
  impact_data = eicat_acacia,
  method = "mean_cum"
)

# Impact map
# Visualise last four years for readability
plot(x = siteImpact, region = southAfrica_sf, first_year = 2021)
```

### Compute impact indicators

To compute the impact indicator of alien taxa, we sum all the yearly impact scores of each site of the study region. To correct for sampling effort we divide the yearly impact scores by number of sites in the study region with at least a single occurrence throughout the whole year.

```{r}
# Impact indicator
impactIndicator <- compute_impact_indicator(
  cube = acacia_cube,
  impact_data = eicat_acacia,
  method = "mean_cum"
)

# Visualise impact indicator
plot(impactIndicator)
```

### Impact indicator per species

We compute the impact indicator per species by summing the impact risk map per species and correct for sampling effort by dividing by $N$.

```{r}
# Impact indicator per species
species_value <- compute_impact_per_species(
  cube = acacia_cube,
  impact_data = eicat_acacia,
  method = "mean"
)

# Visualise species impact
plot(species_value)
```

Owner

  • Name: B-Cubed
  • Login: b-cubed-eu
  • Kind: organization

Biodiversity Building Blocks for Policy

Citation (CITATION.cff)

cff-version: 1.2.0
message: If you use this software, please cite it using these metadata.
title: "impIndicator: Impact Indicators of Alien Taxa"
authors:
- given-names: Mukhtar Muhammed
  family-names: Yahaya
  affiliation: Stellenbosch University (SU)
  orcid: 0009-0008-9200-0863
- given-names: Sabrina
  family-names: Kumschick
  affiliation: Stellenbosch University (SU)
  orcid: 0000-0001-8034-5831
- given-names: Sandra
  family-names: MacFadyen
  affiliation: Stellenbosch University (SU)
  orcid: 0000-0002-5316-440X
- given-names: Pietro
  family-names: Landi
  affiliation: Stellenbosch University (SU)
  orcid: 0000-0002-6373-2992
- given-names: Cang
  family-names: Hui
  affiliation: Stellenbosch University (SU)
  orcid: 0000-0002-3660-8160
keywords:
- impact
- alien species
- biodiversity indicators
- data cubes
contact:
- given-names: Mukhtar Muhammed
  family-names: Yahaya
  affiliation: Stellenbosch University (SU)
  orcid: 0009-0008-9200-0863
doi: ~
license: MIT
repository-code: https://github.com/b-cubed-eu/impIndicator/
type: software
abstract: "Compute impact indicators of alien taxa using GBIF occurrence cube and
  EICAT assessment of alien species. Aggregates species impact of various scores due
  to mecahnism. Aggregates site impact of various scores due to species."
identifiers:
- type: url
  value: https://b-cubed-eu.github.io/impIndicator/
version: 0.1.0

CodeMeta (codemeta.json)

{
  "@context": "https://doi.org/10.5063/schema/codemeta-2.0",
  "@type": "SoftwareSourceCode",
  "identifier": "impIndicator",
  "description": "Compute impact indicators of alien taxa using GBIF occurrence cube and EICAT assessment of alien species. Aggregates species impact of various scores due to mecahnism. Aggregates site impact of various scores due to species.",
  "name": "impIndicator: Impact Indicators of Alien Taxa",
  "relatedLink": "https://b-cubed-eu.github.io/impIndicator/",
  "codeRepository": "https://github.com/b-cubed-eu/impIndicator",
  "issueTracker": "https://github.com/b-cubed-eu/impIndicator/issues",
  "license": "https://spdx.org/licenses/MIT",
  "version": "0.3.1",
  "programmingLanguage": {
    "@type": "ComputerLanguage",
    "name": "R",
    "url": "https://r-project.org"
  },
  "runtimePlatform": "R version 4.4.2 (2024-10-31 ucrt)",
  "author": [
    {
      "@type": "Person",
      "givenName": "Mukhtar Muhammed",
      "familyName": "Yahaya",
      "email": "yahayamukhtar.m@gmail.com",
      "@id": "https://orcid.org/0009-0008-9200-0863"
    },
    {
      "@type": "Person",
      "givenName": "Sabrina",
      "familyName": "Kumschick",
      "email": "sabrina.kumschick@gmail.com",
      "@id": "https://orcid.org/0000-0001-8034-5831"
    },
    {
      "@type": "Person",
      "givenName": "Sandra",
      "familyName": "MacFadyen",
      "email": "sandra@biogis.co.za",
      "@id": "https://orcid.org/0000-0002-5316-440X"
    },
    {
      "@type": "Person",
      "givenName": "Pietro",
      "familyName": "Landi",
      "email": "landi@sun.ac.za",
      "@id": "https://orcid.org/0000-0002-6373-2992"
    },
    {
      "@type": "Person",
      "givenName": "Cang",
      "familyName": "Hui",
      "email": "chui@sun.ac.za",
      "@id": "https://orcid.org/0000-0002-3660-8160"
    }
  ],
  "contributor": [
    {
      "@type": "Person",
      "givenName": "Sabrina",
      "familyName": "Kumschick",
      "email": "sabrina.kumschick@gmail.com",
      "@id": "https://orcid.org/0000-0001-8034-5831"
    },
    {
      "@type": "Person",
      "givenName": "Sandra",
      "familyName": "MacFadyen",
      "email": "sandra@biogis.co.za",
      "@id": "https://orcid.org/0000-0002-5316-440X"
    },
    {
      "@type": "Person",
      "givenName": "Pietro",
      "familyName": "Landi",
      "email": "landi@sun.ac.za",
      "@id": "https://orcid.org/0000-0002-6373-2992"
    },
    {
      "@type": "Person",
      "givenName": "Cang",
      "familyName": "Hui",
      "email": "chui@sun.ac.za",
      "@id": "https://orcid.org/0000-0002-3660-8160"
    }
  ],
  "copyrightHolder": [
    {
      "@type": "Organization",
      "name": "Stellenbosch University (SU)",
      "email": "info@sun.ac.za"
    }
  ],
  "funder": [
    {
      "@type": "Organization",
      "name": "European Union's Horizon Europe Research and Innovation Programme (ID No 101059592)"
    }
  ],
  "maintainer": [
    {
      "@type": "Person",
      "givenName": "Mukhtar Muhammed",
      "familyName": "Yahaya",
      "email": "yahayamukhtar.m@gmail.com",
      "@id": "https://orcid.org/0009-0008-9200-0863"
    }
  ],
  "softwareSuggestions": [
    {
      "@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": "rnaturalearthdata",
      "name": "rnaturalearthdata",
      "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=rnaturalearthdata"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "testthat",
      "name": "testthat",
      "version": ">= 3.0.0",
      "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"
    }
  ],
  "softwareRequirements": {
    "1": {
      "@type": "SoftwareApplication",
      "identifier": "R",
      "name": "R",
      "version": ">= 2.10"
    },
    "2": {
      "@type": "SoftwareApplication",
      "identifier": "assertthat",
      "name": "assertthat",
      "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=assertthat"
    },
    "3": {
      "@type": "SoftwareApplication",
      "identifier": "b3gbi",
      "name": "b3gbi",
      "version": ">= 0.2.2",
      "sameAs": "https://github.com/b-cubed-eu/b3gbi"
    },
    "4": {
      "@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"
    },
    "5": {
      "@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"
    },
    "6": {
      "@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"
    },
    "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": "rgbif",
      "name": "rgbif",
      "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=rgbif"
    },
    "9": {
      "@type": "SoftwareApplication",
      "identifier": "rnaturalearth",
      "name": "rnaturalearth",
      "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=rnaturalearth"
    },
    "10": {
      "@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"
    },
    "11": {
      "@type": "SoftwareApplication",
      "identifier": "stats",
      "name": "stats"
    },
    "12": {
      "@type": "SoftwareApplication",
      "identifier": "tibble",
      "name": "tibble",
      "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=tibble"
    },
    "13": {
      "@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"
    },
    "SystemRequirements": null
  },
  "fileSize": "721.694KB",
  "citation": [
    {
      "@type": "SoftwareSourceCode",
      "datePublished": "2025",
      "author": {
        "author1": {
          "@type": "Person",
          "givenName": "Mukhtar Muhammed",
          "familyName": "Yahaya"
        },
        "author2": {
          "@type": "Person",
          "givenName": "Sabrina",
          "familyName": "Kumschick"
        },
        "author3": {
          "@type": "Person",
          "givenName": "Sandra",
          "familyName": "MacFadyen"
        },
        "author4": {
          "@type": "Person",
          "givenName": "Pietro",
          "familyName": "Landi"
        },
        "author5": {
          "@type": "Person",
          "givenName": "Cang",
          "familyName": "Hui"
        }
      },
      "name": "impIndicator: Impact Indicators of Alien Taxa. Version 0.3.1",
      "url": "https://b-cubed-eu.github.io/impIndicator/"
    }
  ],
  "releaseNotes": "https://github.com/b-cubed-eu/impIndicator/blob/master/NEWS.md",
  "readme": "https://github.com/b-cubed-eu/impIndicator/blob/main/README.md",
  "contIntegration": [
    "https://github.com/b-cubed-eu/impIndicator/actions/workflows/R-CMD-check.yaml",
    "https://app.codecov.io/gh/b-cubed-eu/impIndicator"
  ],
  "developmentStatus": "https://www.repostatus.org/#wip",
  "keywords": [
    "biodiversity-indicators",
    "impact",
    "invasive-species",
    "r"
  ]
}

GitHub Events

Total
  • Create event: 25
  • Release event: 3
  • Issues event: 24
  • Delete event: 14
  • Issue comment event: 9
  • Member event: 3
  • Push event: 132
  • Pull request review event: 2
  • Pull request event: 78
Last Year
  • Create event: 25
  • Release event: 3
  • Issues event: 24
  • Delete event: 14
  • Issue comment event: 9
  • Member event: 3
  • Push event: 132
  • Pull request review event: 2
  • Pull request event: 78

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 189
  • Total Committers: 5
  • Avg Commits per committer: 37.8
  • Development Distribution Score (DDS): 0.376
Past Year
  • Commits: 189
  • Committers: 5
  • Avg Commits per committer: 37.8
  • Development Distribution Score (DDS): 0.376
Top Committers
Name Email Commits
Mukhtar Muhammed Yahaya 1****a 118
Yahaya 2****3@s****a 37
Ward Langeraert w****t@i****e 25
Peter Desmet p****t@i****e 8
SKumschick 1****k 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 16
  • Total pull requests: 51
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 1 day
  • Total issue authors: 2
  • Total pull request authors: 4
  • Average comments per issue: 0.19
  • Average comments per pull request: 0.1
  • Merged pull requests: 44
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 16
  • Pull requests: 51
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 1 day
  • Issue authors: 2
  • Pull request authors: 4
  • Average comments per issue: 0.19
  • Average comments per pull request: 0.1
  • Merged pull requests: 44
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • wlangera (10)
  • mmyahaya (5)
Pull Request Authors
  • mmyahaya (66)
  • wlangera (3)
  • SKumschick (2)
  • peterdesmet (1)
Top Labels
Issue Labels
enhancement (3) invalid (2) help wanted (2) documentation (1) question (1) good first issue (1)
Pull Request Labels

Dependencies

DESCRIPTION cran
  • R >= 2.10 depends
  • b3gbi >= 0.2.2 imports
  • cli * imports
  • dplyr * imports
  • magrittr * imports
  • rgbif * imports
  • sf * imports
  • stats * imports
  • tibble * imports
  • tidyr * imports
  • testthat >= 3.0.0 suggests
.github/workflows/R-CMD-check.yaml actions
  • actions/checkout v4 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