首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R metaMDS排序距离

R metaMDS排序距离
EN

Stack Overflow用户
提问于 2014-09-02 18:08:59
回答 1查看 3.3K关注 0票数 3

我一直在做一些排序的数据集,我有丰富的物种在不同的取样点。我在素食中使用metaMDS()来做这件事。有了这个函数,您可以:

  1. 直接输入社区数据(行中的站点和列中的物种),并指定您希望使用的距离类型(如jaccard、brays curtis、欧几里德等)。这个函数调用vegdist()来完成这个任务。

另一方面,你可以

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

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

本质上,我的问题是metaMDS()是如何用vegdist()调用和计算距离的(它是在多维空间中进行的吗?)这与仅仅使用vegdist()本身有什么不同呢?希望在理解这些差异的过程中,我能够分辨出哪种方法是我的数据集的最佳和最合适的方法。

代码语言:javascript
复制
    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))’
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-03 14:00:04

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

代码语言:javascript
复制
> metaMDS(varespec)
Square root transformation
Wisconsin double standardization
...
global Multidimensional Scaling using monoMDS

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

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

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25629645

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档