R: Similarity Percentages

simper {vegan} | R Documentation

## Similarity Percentages

### Description

Discriminating species between two groups using Bray-Curtis dissimilarities

### Usage

    simper(comm, group, permutations = 0, trace = FALSE,
        parallel = getOption("mc.cores"), ...)
    ## S3 method for class 'simper'
    summary(object, ordered = TRUE,
        digits = max(3,getOption("digits") - 3), ...)

### Arguments

`comm` | Community data matrix.
`group` | Factor describing the group structure. Must have at least 2 levels.
`permutations` | a list of control values for the permutations as returned by the function `how`, or the number of permutations required, or a permutation matrix where each row gives the permuted indices.
`trace` | Trace permutations.
`object` | an object returned by `simper`.
`ordered` | Logical; Should the species be ordered by their average contribution?
`digits` | Number of digits in output.
`parallel` | Number of parallel processes or a predefined socket cluster. With `parallel = 1` uses ordinary, non-parallel processing.
`...` | Parameters passed to other functions. In `simper` the extra parameters are passed to `shuffleSet` if permutations are used.

### Details

Similarity percentage, `simper` (Clarke 1993) is based on the decomposition of Bray-Curtis dissimilarity index (see `vegdist`, `designdist`). The contribution of individual species i to the overall Bray-Curtis dissimilarity d[jk] is given by

d[ijk] = abs(x[ij]-x[ik])/sum(x[ij]+x[ik])

where x is the abundance of species i in sampling units j and k. The overall index is the sum of the individual contributions over all S species d[jk] = sum(i=1..S) d[ijk].

The `simper` functions performs pairwise comparisons of groups of sampling units and finds the average contributions of each species to the average overall Bray-Curtis dissimilarity.

The function displays most important species for each pair of `groups`. These species contribute at least to 70 % of the differences between groups. The function returns much more extensive results which can be accessed directly from the result object (see section Value). Function `summary` transforms the result to a list of data frames. With argument `ordered = TRUE` the data frames also include the cumulative contributions and are ordered by species contribution.

The results of `simper` can be very difficult to interpret. The method very badly confounds the mean between group differences and within group variation, and seems to single out variable species instead of distinctive species (Warton et al. 2012). Even if you make groups that are copies of each other, the method will single out species with high contribution, but these are not contributions to non-existing between-group differences but to within-group variation in species abundance.

### Value

A list of class `"simper"` with following items:

`species` | The species names.
`average` | Average contribution to overall dissimilarity.
`overall` | The overall between-group dissimilarity.
`sd` | Standard deviation of contribution.
`ratio` | Average to sd ratio.
`ava, avb` | Average abundances per group.
`ord` | An index vector to order vectors by their contribution or order `cusum` back to the original data order.
`cusum` | Ordered cumulative contribution.
`p` | Permutation p-value. Probability of getting a larger or equal average contribution in random permutation of the group factor.

### Author(s)

Eduard Szöcs eduardszoecs@gmail.com

### References

Clarke, K.R. 1993. Non-parametric multivariate analyses of changes in community structure. Australian Journal of Ecology, 18, 117–143.

Warton, D.I., Wright, T.W., Wang, Y. 2012. Distance-based multivariate analyses confound location and dispersion effects. Methods in Ecology and Evolution, 3, 89–101.

### Examples

    data(dune)
    data(dune.env)
    (sim <- with(dune.env, simper(dune, Management)))
    summary(sim)

[Package vegan version 2.4-3 Index]