anosim {vegan}R Documentation

Analysis of Similarities


Analysis of similarities (ANOSIM) provides a way to test statistically whether there is a significant difference between two or more groups of sampling units.


anosim(dat, grouping, permutations = 999, distance = "bray", strata)


dat Data matrix or data frame in which rows are samples and columns are response variable(s), or a dissimilarity object or a symmetric square matrix of dissimilarities.
grouping Factor for grouping observations.
permutations Number of permutation to assess the significance of the ANOSIM statistic.
distance Choice of distance metric that measures the dissimilarity between two observations . See vegdist for options. This will be used if dat was not a dissimilarity structure or a symmetric square matrix.
strata An integer vector or factor specifying the strata for permutation. If supplied, observations are permuted only within the specified strata.


Analysis of similarities (ANOSIM) provides a way to test statistically whether there is a significant difference between two or more groups of sampling units. Function anosim operates directly on a dissimilarity matrix. A suitable dissimilarity matrix is produced by functions dist or vegdist. The method is philosophically allied with NMDS ordination (isoMDS), in that it uses only the rank order of dissimilarity values.

If two groups of sampling units are really different in their species composition, then compositional dissimilarities between the groups ought to be greater than those within the groups. The anosim statistic R is based on the difference of mean ranks between groups (r_B) and within groups (r_W):

R = (r_B - r_W)/(N (N-1) / 4)

The divisor is chosen so that R will be in the interval -1 ... +1, value 0 indicating completely random grouping.

The statistical significance of observed R is assessed by permuting the grouping vector to obtain the empirical distribution of R under null-model.

The function has summary and plot methods. These both show valuable information to assess the validity of the method: The function assumes that all ranked dissimilarities within groups have about equal median and range. The plot method uses boxplot with options notch=TRUE and varwidth=TRUE.


The function returns a list of class "anosim" with following items:

call Function call.
statistic The value of ANOSIM statistic R
signif Significance from permutation.
perm Permutation values of R
class.vec Factor with value Between for dissimilarities between classes and class name for corresponding dissimilarity within class.
dis.rank Rank of dissimilarity entry.
dissimilarity The name of the dissimilarity index: the "method" entry of the dist object.


I don't quite trust this method. Somebody should study its performance carefully. The function returns a lot of information to ease further scrutiny. Most anosim models could be analysed with adonis which seems to be a more robust alternative.


Jari Oksanen, with a help from Peter R. Minchin.


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

See Also

mrpp for a similar function using original dissimilarities instead of their ranks. dist and vegdist for obtaining dissimilarities, and rank for ranking real values. For comparing dissimilarities against continuous variables, see mantel. Function adonis is a more robust alternative that should preferred.


dune.dist <- vegdist(dune)
dune.ano <- anosim(dune.dist, Management)

[Package vegan version 1.16-32 Index]