I'm basing my question off of someone else's stackoverflow post.

My questions are the following:

1. A widely used R package vegan has a function called procrustes, symmetric argument is set to False.

The documentation says "Use symmetric Procrustes statistic (the rotation will still be non-symmetric)" but I don't understand the following:

1a. What it means to be symmetric or non-symmetric?

1b. When to use symmetric vs. non-symmetric procrustes?

1c. How do you know if your dataset/problem is better "modeled" (this might not be the correct phrasing) using a symmetric vs. non-symmetric procrustes?

2. In the same package, there is the protest function that can assign statistical significance in how different two ordinations are via permuting several procrustes runs. The protest function is only available (applicable?) to symmetric procrustes. I don't understand the following:

2a. Why can't you run this test for symmetric procrustes?

This is a great explanation for anyone interested in procrustes:



1 Answer 1


It is a different thing to fit matrix A to matrix B and to fit matrix B to matrix A, just like it is a different thing to regress y on x and regress x on y – although all these tasks are related.

As to your question:

1a. In symmetric Procrustes, the goodness-of-fit statistics are identical in B to A and A to B. However, many other things differ (see https://stackoverflow.com/questions/42335149/interpreting-procrustes-output-in-vegan/42352087#42352087).

1b. I wrote procrustes() function some 20 years ago to fit matrix B to target matrix A: I wanted to get the rotated/scaled/translated matrix B that is similar to A. If that is your goal, you should use non-symmetric (B to A) rotation. If you do not want to get the result (rotation), but you are just interested in the similarity between two matrices and the statistic for that similarity, you should use symmetric rotation. Non-symmetric analysis is analogous to regression analysis (B on A), and symmetric Procrustes is analogous to correlation analysis (similarity between A & B without considering direction).

1c. This depends on your study question (that I do not know). Do you want to have a "regression" or a "correlation"?

  1. The authors of Protest (see references in the software help page) suggested the method with symmetric Procrustes, and the implementation follows the original paper (Peres-Neto & Jackson 2001, Oecologia 129: 169-178).

2a. I guess you can – in principle – but please read the paper: they may have an argument against non-symmetric analysis. However, you cannot run that in vegan, because it is not implemented there. Without re-reading the paper and considering the issue, I think that the reason is just that Peres-Neto & Jackson were only interested in non-directional (correlation-like) comparison of matrices and therefore only considered symmetric analysis. My gut-feeling is that non-symmetric analysis would give different numeric indicators but the same permutation P-values (just like tests on the slope of regression and on correlation coefficient give similar results). You may edit the function to see if this is the case (I have no interest of doing so).


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.