这可能是一个愚蠢的问题,但有人告诉我在 R 中进行冗余分析(使用 Vegan 包)来测试我的数据中不同组之间的差异。但是,我只有一个数据集(与 Iris 数据集(https://en.wikipedia.org/wiki/Iris_flower_data_set)大致相当),而我在 RDA 上找到的所有内容似乎都需要两个匹配集。我是否听错或误解了,还是这里发生了其他事情?
问问题
1073 次
1 回答
1
就基础统计而言,您有两个数据矩阵;
iris
数据集中的四个形态变量- 单个分类预测变量或约束
在素食主义者中使用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 回答