Mantel Test for Similarity of Two Matrices
This function computes Mantel's permutation test for similarity of two matrices. It permutes the rows and columns of the two matrices randomly and calculates a $Z$-statistic.
mantel.test(m1, m2, nperm = 999, graph = FALSE, alternative = "two.sided", ...)
The function calculates a $Z$-statistic for the Mantel test, equal to the sum of the pairwise product of the lower triangles of the permuted matrices, for each permutation of rows and columns. It compares the permuted distribution with the $Z$-statistic observed for the actual data.
graph = TRUE, the functions plots the density estimate of
the permutation distribution along with the observed $Z$-statistic
as a vertical line.
... argument allows the user to give further options to
plot function: the title main be changed with
the axis labels with
xlab =, and
ylab =, and so on.
Mantel, N. (1967) The detection of disease clustering and a generalized regression approach. Cancer Research, 27, 209--220.
Manly, B. F. J. (1986) Multivariate statistical methods: a primer. London: Chapman & Hall.
q1 <- matrix(runif(36), nrow = 6) q2 <- matrix(runif(36), nrow = 6) mantel.test(q1, q2, graph = TRUE, main = "Mantel test: a random example with 6 X 6 matrices", xlab = "z-statistic", ylab = "Density", sub = "The vertical line shows the observed z-statistic")