【问题标题】:PCoA function pcoa extract vectors; percentage of variance explainedPCoA 函数 pcoa 提取向量;解释的方差百分比
【发布时间】:2019-07-18 17:00:12
【问题描述】:

我有一个包含 132 个观察值和 10 个变量的数据集。 这些变量都是分类的。我试图查看我的观察结果如何聚类以及它们根据方差百分比有何不同。即我想知道a)是否有任何变量有助于将某些观察点彼此分开,b)如果是,它解释的方差百分比是多少?

有人建议我对我的数据运行 PCoA(原理坐标分析)。我使用 vegan 和 ape 包运行它。这是我将 csv 文件加载到 r 后的代码,我称之为数据

#data.dis<-vegdist(data,method="gower",na.rm=TRUE)
#data.pcoa<-pcoa(data.dis)

然后我被告知要从 pcoa 数据中提取向量等等

#data.pcoa$vectors

然后它返回了 132 行但 20 列的值(例如,从轴 1 到轴 20)

当我只有 10 个变量时,我对为什么有 20 列值感到困惑。我的印象是我只会得到 10 列。如果那里有任何善良的灵魂可以帮助解释a)向量实际代表什么,b)我如何获得轴1和轴2解释的方差百分比?

我遇到的另一个问题是我并不真正理解从data.pcoa 提取特征值的目的,因为我看到一些网站在对其距离矩阵运行 pcoa 后这样做,但没有进一步解释。

【问题讨论】:

    标签: r variance vegan ape


    【解决方案1】:

    Gower 指数是非欧式的,您可以期望比欧式排序 (PCoA) 中的变量数更多的实轴。但是,您说您的变量是分类的。我假设在 R 术语中它们是因素。如果是这样,您应该使用只接受数字数据的vegan::vegdist()。此外,如果变量被定义为一个因子,vegan::vegdist() 拒绝计算差异并给出错误。如果您设法使用vegdist(),则您没有正确地将变量定义为因素。如果你真的有因子变量,你应该使用 vegan 以外的其他包来实现 Gower 的不同(有很多替代方案)。

    对于非欧几里得差异,“方差”的百分比有点棘手,它也给出了一些与想象维度相对应的负特征值。在这种情况下,所有正特征值(实轴)的总和高于数据的总“方差”。 ape::pcoa() 返回您在元素 values 中询问的信息。解释的方差比例在其元素values$Relative_eig 中。总“方差”在元素trace 中返回。所有这些都记录在我阅读的?pcoa 中。

    【讨论】:

      猜你喜欢
      • 2012-11-26
      • 1970-01-01
      • 1970-01-01
      • 2019-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多