3

我一直在对我在不同采样点拥有丰富物种的数据集进行一些排序。我正在使用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))’
4

1 回答 1

4

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

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

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

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

于 2014-09-03T14:00:04.880 回答