Why does PROTEST report high significance when PROCRUSTES residuals are high? #633
-
I am trying to test the concurrence of a plant and a microbial community (2 matrices, d1, d2) with Procrustes analysis and protest in vegan. Although the Procrustes residuals are quite high, Protest tells me that the communities are highly significant (with a sum of squares near zero). I am confused why the residuals are high (signaling that the concurrence is low) while the Protest function says otherwise. Can anyone shed light on this issue? An example:
|
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 2 replies
-
For a densityplot(permustats(prot)) This will display you the density distribution of randomized values and the line for the observed value. If the observed value is at the tail of distribution then p-value will be low. You claim that residuals are large, but that is contrary to the results you posted. The last output says that the Procrustes sum of squares is 2.2 × 10-16 and correlation is 1. NB, |
Beta Was this translation helpful? Give feedback.
-
I see the problem here. The arguments to prot <- protest(x = scores_pca1, y = scores_pca2, permutations = 9999) what seems to happen is that I don't know why you are extracting the scores as both r$> set.seed(12345)
r$> prot <- protest(X = scores_pca1, Y = scores_pca2, permutations = 9999)
r$> prot
Call:
protest(X = scores_pca1, Y = scores_pca2, permutations = 9999)
Procrustes Sum of Squares (m12 squared): 0.8139
Correlation in a symmetric Procrustes rotation: 0.4314
Significance: 0.025
Permutation: free
Number of permutations: 9999 which is what you get if you call this with the ordination objects and pass r$> set.seed(12345)
r$> prot <- protest(X = pca1, Y = pca2, permutations = 9999, choices = 1:6)
r$> prot
Call:
protest(X = pca1, Y = pca2, permutations = 9999, choices = 1:6)
Procrustes Sum of Squares (m12 squared): 0.8139
Correlation in a symmetric Procrustes rotation: 0.4314
Significance: 0.025
Permutation: free
Number of permutations: 9999 @jarioksa perhaps we should add something to |
Beta Was this translation helpful? Give feedback.
I see the problem here. The arguments to
protest()
are notx
andy
, but areX
andY
. When you callprotest()
as:what seems to happen is that
scores_pca1
gets used forX
andY
and of course that will end up with a procrustes correlation of 1 and sums of squares effectively 0.I don't know why you are extracting the scores as both
procrustes()
andprotest()
will happily work with ordination objects. If you call this as intended you get the right answer: