I performed the environment factor analysis by qiime diversity mantel with qiime diversity bioenv in qiime2 and mantel test in R seperately. And the p value and r were different in the same pair of environment factor and bray_curtis. Was it caused by the difference in method of calculating the bray_curtis distance?
Welcome to the forum!
I don't think there is a diffrence in the calculations; my best guess from a quick review of the documentation on the underlying function is that the implementation that QIIME 2 uses is tested against vegan.
However, there is some instability other places that might explain these differences. If you're calculating Bray Curtis on a rarefied table, then the distances will be slightly different. This may explain small differences in your R2 value. The p-values are calculated permutatively which means there's a stochastic component; this can also explain some small variation in the p-value, depending on how you calculate it.
One way to stabilize your distance matrix is to do multiple rarefaction and average over several values (I use the
q2-feature-table merge function to do this.
Thanks，it help me a lot, the problem of instability was solved.