anova.cca给出了不正确的(0)自由度。如何改变DF?

时间:2016-12-16 10:21:23

标签: r

我正在研究我的硕士论文,我有一个问题。我想从受约束的排序模型中计算p值,以便将它们用于我的模型选择。我将使用具有重要p值的变量来构建我的最终模型。 但是,如果我计算p值,则R给出一些变量df = 0。然后它没有给我一个p值。

我的数据包括鱼类和非生物变量。 我的鱼和非生物数据包含12个位置,每个位置包含不同的横断面(一些位置有9个横断面,其他有15个横断面)。 我在横断面后命名了我的rownames,然后删除了包含横断面编号的列。

我的非生物数据框架如下所示:位置是一个因素,其他是数字。

      location Clay Sand Silt mix Gravel Organic    + 8 other variables
  1.1        1    0    0    0  50      0      50
  1.2        1    0   50    0   0      0      50
  1.3        1    0   45   10   0      0      45
  2.1        1    0   50    0   0      0      50
  2.2        1    0  100    0   0      0       0
  2.3        1    0   50    0   0      0      50

我的鱼数据框看起来像:

        species 1          species 2        3              4
1.1        0                    0             0               0
1.10       0                    0             0               0
1.2       0                    0             0               0
2.1        0                    0             0               0
2.2        0                    0             0               0

首先,我做一个RDA,然后我提取p值:

m1< - rda(鱼〜。+条件(位置),非生物)
    (非生物,anova(m1,by =' margin',perm = 500,strata = location))

R没有给出我所有变量的p值,我认为这是因为df = 0。我怎样才能调整df以获得p值?

                             Df Variance      F Pr(>F)   
location                      0  0.00000                 
Clay                          0  0.00000    Inf          
Sand                          0  0.00000    Inf          
Silt                          0  0.00000   -Inf          
mix                           0  0.00000   -Inf          
Gravel                        0  0.00000    Inf          
Organic                       0  0.00000                 
trees                        1  0.00062 0.1978  0.716   
herbs                        1  0.00243 0.7785  0.387

感谢您的帮助。

0 个答案:

没有答案