将列表类数字转换为R中的距离结构

将列表类数字转换为R中的距离结构,r,data-structures,vegan,R,Data Structures,Vegan,我有一个类似这样的列表,它是每个样本的分散度度量 1 2 3 4 5 0.11829384 0.24987017 0.08082147 0.13355495 0.12933790 为了进一步分析这一点,我需要它是一个距离结构,-vegan-package需要它作为一个“dist”对象 我找到了一些适用于Matrix>dist的解决方案,但如何将当前数据更改为dist对象呢 我正在使用我找到的手册中的F

我有一个类似这样的列表,它是每个样本的分散度度量

         1          2          3          4          5 
0.11829384 0.24987017 0.08082147 0.13355495 0.12933790 
为了进一步分析这一点,我需要它是一个距离结构,-vegan-package需要它作为一个“dist”对象

我找到了一些适用于Matrix>dist的解决方案,但如何将当前数据更改为dist对象呢

我正在使用我找到的手册中的FD软件包

尽管如此,FDis相对于Rao的Q的一个潜在优势是在未加权的情况下 (即,有无数据),这为正式的统计测试提供了可能性,以确定数据的差异 通过基于距离的多变量同质性检验,在两个或多个社区之间进行FD 分散(Anderson 2006);有关更多详细信息,请参阅betadisper

我想使用veganbetadisper函数来测试不同区域之间是否存在差异(我使用元素“region”和列“region”也提供了这个元素)


functional您无法执行此操作:
FD::fdisp()
不会返回差异。它返回三个元素的列表:每个采样单元(SU)的色散
FDI
,以及输入不相似性的特征分解结果(
eig
用于特征值,
向量
用于正交特征向量)。对每个原始SU的
FDI
值进行总结,但没有关于SU之间差异的信息。本征分解可用于重建原始输入的差异性(您的
距离
FD::gowdis()
),但您可以直接使用输入的差异性。函数
FD::gowdis()
返回一个常规的
“dist”
结构,您可以直接在
vegan::betadisper()
中使用该结构,前提是它提供了有意义的分析。为此,
分组
变量必须基于与
距离
相同的单位。在
fdisp
的典型应用中,单位是物种(分类群),但似乎您希望得到社区/场地/任何东西的分析。这在这些工具中是不可能的。

这看起来不像一个列表,而是一个向量。距离是采样单位之间的距离,但您的叙述表明您的数字是针对单个SU(“每个样本的离散度”)。这些东西不能转化为距离。不可能有一个包含5个元素的距离结构:4个SU之间有6个距离,3个SU之间有3个距离。有了这样的背景,我想说你不能把你的向量变成
dist
对象。谢谢你的帮助,我修改了帖子以包含更多信息。这只是对象的头部,我和站点/社区的距离一样多-27-尽管正如你所说,它看起来像一个向量,而不是通过vegdist返回的通常dis对象。谢谢你的建议。
functional <- FD(trait, comun)
mod <- betadisper(functional$FDis, region$region)
distancias <-  gowdis(rasgo)
mod <- betadisper(distancias, region$region)
dispersion <- fdisp(distancias, presence)
mod <- betadisper(dispersion, region$region)