0

这可能是一个愚蠢的问题,但有人告诉我在 R 中进行冗余分析(使用 Vegan 包)来测试我的数据中不同组之间的差异。但是,我只有一个数据集(与 Iris 数据集(https://en.wikipedia.org/wiki/Iris_flower_data_set)大致相当),而我在 RDA 上找到的所有内容似乎都需要两个匹配集。我是否听错或误解了,还是这里发生了其他事情?

4

1 回答 1

1

就基础统计而言,您有两个数据矩阵;

  1. iris数据集中的四个形态变量
  2. 单个分类预测变量或约束

素食主义者中使用rda()这个和iris你会做的示例数据:

library("vegan")
iris.d <- iris[, 1:4]
ord <- rda(iris.d ~ Species, data = iris)
ord

set.seed(1)
anova(ord)

排列测试,测试物种之间的差异。

> anova(ord)
Permutation test for rda under reduced model
Permutation: free
Number of permutations: 999

Model: rda(formula = iris.d ~ Species, data = iris)
          Df Variance      F Pr(>F)    
Model      2   3.9736 487.33  0.001 ***
Residual 147   0.5993                  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

您可能还会查看adonis(),它在这里应该与 RDA 做同样的事情,但从不同的角度来看:

> adonis(iris.d ~ Species, data = iris)

Call:
adonis(formula = iris.d ~ Species, data = iris) 

Permutation: free
Number of permutations: 999

Terms added sequentially (first to last)

           Df SumsOfSqs MeanSqs F.Model      R2 Pr(>F)    
Species     2   2.31730 1.15865  532.74 0.87876  0.001 ***
Residuals 147   0.31971 0.00217         0.12124           
Total     149   2.63701                 1.00000           
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(由于某种原因,这要慢得多......)

另请参阅betadisper()您可能会使用这些方法检测到均值(质心)的差异,这可能至少部分是由于方差(分散)的差异。

于 2015-07-31T15:55:48.060 回答