Skip to contents

Implementing AZTI’s Marine Biotic Index (Borja et al., 2000)

Overview

The ambiR package allows the user to calculate both the AMBI index and the multivariate M-AMBI from count or abundance data for benthic fauna species, using the included species list.

In addition, this package includes functions to calculate different versions of the Danish Quality Index (DKI) (Dansk Kvalitetsindeks), a derived benthic index based on AMBI.

  • AMBI() - calculates the AMBI index.
  • MAMBI() - calculates the multivariate M-AMBI index.
  • Hdash() - calculates H’, the Shannon diversity index.
  • DKI2() - calculates the salinity-normalised Danish quality index DKI (v2).
  • DKI() - calculates the Danish quality index DKI.

To get started, see vignette("ambiR"). For details about running in interactive mode, see vignette("interactive").

The AMBI index was developed by Ángel Borja and colleagues at AZTI. For background and explanation of the method for calculation of the AMBI index see vignette("background"). You can also find a link to download the original AMBI software.

Installation

Install from CRAN with:

You can install the development version of ambiR from GitHub with:

# install.packages("remotes)
remotes::install_github("NIVA-Denmark/ambiR")

or, if you prefer to use devtools:

# install.packages("devtools")
devtools::install_github("NIVA-Denmark/ambiR")

Examples

This is a basic example using a very small dataset, with 2 stations. In each station there are 3 species counts. The data is organised in a dataframe with 3 columns in a so-called “long” format. That is, each count is recorded in a separate row.

By default, the AMBI function returns both the AMBI results and a list of which AMBI groups species names in input data were assigned to. Here, we also use the argument format_pct to show the estimated fractions as percentages. See the function documentation for more details: AMBI().

library(ambiR)

df <- data.frame(station = c("1","1","1","2","2","2"),
                 species = c("Acidostoma neglectum",
                             "Acrocirrus validus",
                             "Capitella nonatoi",
                             "Acteocina bullata",
                             "Austrohelice crassa",
                             "Capitella nonatoi"),
                 count = c(8, 14, 23, 13, 17, 11))

AMBI(df, by = c("station"), format_pct=1)
#> $AMBI
#> # A tibble: 2 × 12
#>   station  AMBI     H     S fNA       N I     II    III   IV    V    
#>   <chr>   <dbl> <dbl> <int> <chr> <dbl> <chr> <chr> <chr> <chr> <chr>
#> 1 1        5.43  1.46     3 17.8%    45 0.0%  0.0%  0.0%  37.8% 62.2%
#> 2 2        4.10  1.56     3 0.0%     41 31.7% 0.0%  0.0%  0.0%  68.3%
#> # ℹ 1 more variable: Disturbance <chr>
#> 
#> $matched
#>   station              species      species_matched count group RA
#> 1       1 Acidostoma neglectum Acidostoma neglectum     8     0  0
#> 2       1   Acrocirrus validus   Acrocirrus validus    14     4  0
#> 3       1    Capitella nonatoi    Capitella nonatoi    23     5  0
#> 4       2    Acteocina bullata    Acteocina bullata    13     1  0
#> 5       2  Austrohelice crassa  Austrohelice crassa    17     5  0
#> 6       2    Capitella nonatoi    Capitella nonatoi    11     5  0

Another example using the supplied test_data.

library(ambiR)

## calling AMBI using the test data set
AMBI(test_data, by=c("station"), var_rep = "replicate", format_pct=1)
#> $AMBI
#> # A tibble: 3 × 13
#>   station  AMBI AMBI_SD     H     S fNA       N I     II    III   IV    V    
#>     <dbl> <dbl>   <dbl> <dbl> <int> <chr> <dbl> <chr> <chr> <chr> <chr> <chr>
#> 1       1  1.48   0.338  1.80     6 0.0%     16 12.5% 75.0% 12.5% 0.0%  0.0% 
#> 2       2  1.89   0.238  3.54    22 0.0%     80 40.0% 13.8% 30.0% 15.0% 1.2% 
#> 3       3  4.12   0.884  2.50     9 0.0%     24 0.0%  12.5% 29.2% 8.3%  50.0%
#> # ℹ 1 more variable: Disturbance <chr>
#> 
#> $AMBI_rep
#> # A tibble: 8 × 11
#>   station replicate  AMBI     S fNA       N I     II    III   IV    V    
#>     <dbl> <chr>     <dbl> <dbl> <chr> <dbl> <chr> <chr> <chr> <chr> <chr>
#> 1       1 a          1.8      3 0.0%      5 0.0%  80.0% 20.0% 0.0%  0.0% 
#> 2       1 b          1.5      3 0.0%      7 14.3% 71.4% 14.3% 0.0%  0.0% 
#> 3       1 c          1.12     2 0.0%      4 25.0% 75.0% 0.0%  0.0%  0.0% 
#> 4       2 a          1.88    12 0.0%     32 40.6% 15.6% 21.9% 21.9% 0.0% 
#> 5       2 b          2.13    12 0.0%     19 31.6% 15.8% 36.8% 10.5% 5.3% 
#> 6       2 c          1.66    10 0.0%     29 44.8% 10.3% 34.5% 10.3% 0.0% 
#> 7       3 a          3.5      5 0.0%      6 0.0%  33.3% 16.7% 33.3% 16.7%
#> 8       3 b          4.75     6 0.0%     18 0.0%  5.6%  33.3% 0.0%  61.1%
#> 
#> $matched
#> # A tibble: 53 × 7
#>    station replicate species             species_matched     count group    RA
#>      <dbl> <chr>     <chr>               <chr>               <dbl> <dbl> <dbl>
#>  1       1 a         Cumopsis fagei      Cumopsis fagei          2     2     0
#>  2       1 a         Diogenes pugilator  Diogenes pugilator      2     2     0
#>  3       1 a         Paradoneis armata   Paradoneis armata       1     3     0
#>  4       1 b         Bathyporeia elegans Bathyporeia elegans     1     1     0
#>  5       1 b         Diogenes pugilator  Diogenes pugilator      5     2     0
#>  6       1 b         Dispio uncinata     Dispio uncinata         1     3     0
#>  7       1 c         Astarte sp.         Astarte sp.             1     1     0
#>  8       1 c         Diogenes pugilator  Diogenes pugilator      3     2     0
#>  9       2 a         Cumopsis fagei      Cumopsis fagei          1     2     0
#> 10       2 a         Glycera tridactyla  Glycera tridactyla      2     2     0
#> # ℹ 43 more rows

Acknowledgements

The artwork for the ambiR logo was created by Steen Knudsen.

Development work on the ambiR package is funded in part by the GES4SEAS project.

Grant Agreement 101059877 - GES4SEAS

The GES4SEAS project has been approved under the HORIZON-CL6-2021-BIODIV-01-04 call: ‘Assess and predict integrated impacts of cumulative direct and indirect stressors on coastal and marine biodiversity, ecosystems and their services’.

Funded by the European Union. Views and opinions expressed are however those of the authors only and do not necessarily reflect those of the European Union or UK Research and Innovation. Neither the European Union nor the granting authority can be held responsible for them.