关于在vegan包中使用anova.cca()给我看:条款错误。公式(公式,“条件”,数据=数据):'data'参数类型错误

时间:2018-04-24 02:14:57

标签: r vegan

感谢您查看这个问题! 我在R中用纯素包进行冗余分析,使用两个数据集(一个是微生物种,另一个是环境变量,例如pH DOC ......)。 代码显示:

mod<- rda(species~.,data=environment)
summary(mod)

Call:
rda(formula = species ~ Treatment + SR + DOC + NH4 + NO3 + AG + BG + CB + 
XYL + LAP + NAG + PHOS + PHOX + PEOX + pH + AP +MBC + MBN, data = 
environment) 
Partitioning of variance:
              Inertia Proportion
Total          644.87     1.0000
Constrained    560.18     0.8687
Unconstrained   84.69     0.1313

Eigenvalues, and their contribution to the variance 

Importance of components:
                           RDA1     RDA2    RDA3     RDA4     RDA5     RDA6    
RDA7
Eigenvalue            237.4215 126.5881 66.9355 31.62478 21.82210 18.56123 
9.04857
Proportion Explained    0.3682   0.1963  0.1038  0.04904  0.03384  0.02878 
0.01403
Cumulative Proportion   0.3682   0.5645  0.6683  0.71731  0.75115  0.77993 
0.79396 ...

然后我运行以下代码。这很正常。

anova.cca(mod)
Permutation test for rda under reduced model
Permutation: free
Number of permutations: 999

Model: rda(formula = species ~ Treatment + SR + DOC + NH4 + NO3 + AG + BG + 
CB + XYL + LAP + NAG + PHOS + PHOX + PEOX + pH + AP + MBC + MBN, data = 
environment)
         Df Variance      F Pr(>F)    
Model    21   560.18 7.2444  0.001 ***
Residual 23    84.69                  
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

在上面我运行以下内容以了解轴的重要性。

anova.cca(mod,by = "axis")

Error in terms.formula(formula, "Condition", data = data) : 
 'data' argument is of the wrong type  

我不知道发生了什么事,让我很困惑。我举了这个例子:

data(dune)
data(dune.env)
dune.Manure <- rda(dune ~ ., dune.env)
anova.cca(dune.Manure,by='axis')

Permutation test for rda under reduced model
Forward tests for axes
Permutation: free
Number of permutations: 999

Model: rda(formula = dune ~ A1 + Moisture + Management + Use + Manure, data = dune.env)
          Df Variance      F Pr(>F)   
RDA1      1  22.3955 7.4946  0.003 **
RDA2      1  16.2076 5.4239  0.066 . 
RDA3      1   7.0389 2.3556  0.679   
RDA4      1   4.0380 1.3513  0.998   
....
Residual  7  20.9175                 

Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

这是有效的。我将数据与示例和我的数据进行比较,并发现没有错误(我认为)。问题是“anova.cca(mod,by =”axis“)”中的错误,为什么会发生? 。那么如何处理这个问题。非常感谢!!!

0 个答案:

没有答案