gpt4 book ai didi

R metaMDS 排序距离

转载 作者:行者123 更新时间:2023-12-04 13:49:26 24 4
gpt4 key购买 nike

我一直在对我在不同采样点拥有丰富物种的数据集进行排序。我在 vegan 中使用 metaMDS() 来执行此操作。使用此功能,您可以:

  1. 直接输入社区数据(行中的站点和列中的物种)并指定您希望它使用的距离类型(即 jaccard、brays curtis、euclidean 等)和函数调用 vegdist() 来做到这一点。

另一方面,你可以

  1. metaMDS 提供一个您已经创建的距离矩阵,可能使用 vegdist()(与 metaMDS() 函数分开)。

让我感到困惑的是,如果我执行第一个策略,我会得到一个答案,而当我执行第二个策略时(然后将该距离矩阵放入 metaMDS() 函数中),我会得到一个完全不同的答案(非常不同的应力值,不同的排序坐标)。当我调用在第一个策略中创建的距离矩阵时,距离与我从 vegdist() 函数中获得的距离截然不同。我顺便读到,研究其他东西,当 metaMDS() 调用 vegdist() 函数时,它正在寻找多维空间中的距离,而只是使用 vegdist() 在一个维度上。

本质上我想问的是 metaMDS() 如何调用和计算 vegdist() 的距离(它是在多维空间中进行的吗?)以及如何这与简单地使用 vegdist() 本身有什么不同吗?希望通过理解这些差异,我可以辨别哪种方法最适合我的数据集。

    mrja<-read.table("example.txt")
jac<-vegdist(mrja,method="jaccard")
head(jac)
[1] 0.7910448 0.8721461 0.7157360 0.9075908 0.9335038 0.9104478 ###first six distances

ordjac1<-metaMDS(jac,k=2)
ordjac1$stress
[1] 0.169781
ordjac1

Call:
metaMDS(comm = jac, k = 2)

global Multidimensional Scaling using monoMDS

Data: jac
Distance: jaccard

Dimensions: 2
Stress: 0.169781
Stress type 1, weak ties
No convergent solutions - best solution after 20 tries
Scaling: centring, PC rotation
Species: scores missing

ordjac2<-metaMDS(mrja,k=2,distance="jaccard")
ordjac2$stress
[1] 0.2367037

head(ordjac2$dist)
[1] 5.259303e-06 2.812693e-05 1.879357e-02 1.216611e-01 3.913638e-02
[6] 7.444730e-02 ###first six distances

ordjac2

Call:
metaMDS(comm = mrja, distance = "jaccard", k = 2)

global Multidimensional Scaling using monoMDS

Data: wisconsin(sqrt(mrja))
Distance: jaccard

Dimensions: 2
Stress: 0.2367037
Stress type 1, weak ties
No convergent solutions - best solution after 20 tries
Scaling: centring, PC rotation, halfchange scaling
Species: expanded scores based on ‘wisconsin(sqrt(mrja))’

最佳答案

没有足够的信息,但也许 metaMDS 进行了一些改造和标准化。这可以在跟踪信息和打印输出中看到。例如,我们有

> metaMDS(varespec)
Square root transformation
Wisconsin double standardization
...
global Multidimensional Scaling using monoMDS

Data: wisconsin(sqrt(varespec))
Distance: bray

它告诉您数据首先经过平方根变换,然后进行威斯康星标准化。你看到这样的东西了吗?您可以通过在 metaMDS() 调用中设置参数 autotransform = FALSE 来关闭这些。您可以先向我们提供此信息。

关于R metaMDS 排序距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25629645/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com