Hi Akos, Thank you for the code. It worked. I reordered the dist objects as I cannot access the dataset of one of the two distance matrix.
> dist_b_reordered <- as.dist(as.matrix(dist_b)[attr(dist_a, "Labels"), attr(dist_a, "Labels")]) > all.equal(dist_a, dist_b_reordered, check.attributes = FALSE) [1] "Mean relative difference: 0.8977224" There is any statistical test that you suggest to compare the two distances? I would like to see if the two matrices show a similar pattern, e.g. mantel test? Thanks, Gian On Sat, 1 Jun 2019 at 00:55, Bede-Fazekas Ákos <bfalevl...@gmail.com> wrote: > Dear Gian, > Let's do a small reproducible example: > library(vegan) > data(varespec) > set.seed(12345) > df_a <- t(varespec) > df_b <- t(varespec[, sample.int(ncol(varespec))]) # shuffle the original > column order > dist_a <- vegdist(df_a); dist_b <- vegdist(df_b) > all.equal(dist_a, dist_b, check.attributes = FALSE) > > Now, you have two options. If you have access to the original > data.frame/matrix from which the dist object was created, you can > reorder the rows of the second dataset to match that of the first one. > Then do the distance matrix calculation again. > df_b_reordered <- df_b[rownames(df_a), ] > dist_b_reordered1 <- vegdist(df_b_reordered) > all.equal(dist_a, dist_b_reordered1, check.attributes = FALSE) > > If you have no access to the original dataset and/or can not recalculate > the distance matrix (e.g. due to computer capacity or time), you can > reorder the distance matrix (both the rows and columns). > dist_b_reordered2 <- as.dist(as.matrix(dist_b)[attr(dist_a, "Labels"), > attr(dist_a, "Labels")]) > all.equal(dist_a, dist_b_reordered2, check.attributes = FALSE) > > HTH, > Ákos Bede-Fazekas > Hungarian Academy of Sciences > > > 2019.06.01. 1:53 keltezéssel, Gian Maria Niccolò Benucci írta: > > Hello, > > > > I have two vegan::vegdist objects I want to use into a vegan::mantel > test. > > However, rows and columns of the two objects are not in the same order. > Is > > there a way to reorder them one another? > > > > For example, > > > >> dist_a > > Lycovolu Hupeaust Lycofast Lycodeut > > Hupeaust 0.9045557 > > > > Lycofast 0.6835441 0.8569781 > > > > Lycodeut 0.8036577 0.8294657 0.7958988 ... > > ... > > > >> dist_b > > Lycodeut Lycofast Lycoscar Lycovolu > > Lycofast 0.09340659 > > > > Lycoscar 0.08974359 0.01831502 > > > > Lycovolu 0.09073476 0.01099655 0.01008080 ... > > ... > > > > Thanks, > > > > _______________________________________________ > R-sig-ecology mailing list > R-sig-ecology@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-sig-ecolog > <https://stat.ethz.ch/mailman/listinfo/r-sig-ecology>y *----- Do not print this email unless you really need to. Save paper and protect the environment! -----* [[alternative HTML version deleted]] _______________________________________________ R-sig-ecology mailing list R-sig-ecology@r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-ecology