ANOSIM:sort.int(x,na.last = na.last,减少=减少,...)中的错误

时间:2018-08-29 17:05:03

标签: vegan

我正在尝试对我的生态数据执行Anosim {vegan},并且不断收到相同的错误消息。我认为这不是已经发布的另一个问题的重复问题,而是想充分展示正在发生的事情。

我得到了由17行(站点)和313列(物种)组成的数字数据框(“ sps”),以及第二个数据框(“ env.data”),其中包含具有17个因子的列。因此,我想测试一下我的17个小组之间是否有显着差异。

以下是我的数据示例:

> sps[,2:5]
                A. faranauti A. tecta A. lyra A. arbuscula 
Sargasso Sea              0         0       2            0
Equatorial Brazil         0         0       0            0
Canarias Sea              0         0       0            0
Corner Seamounts          0         0       0            2
Gulf of Mexico            0         0       0            0
Labrador Sea              0         0       0            0
Equatorial Africa         0         0       0            0
Tropic Seamount           0         0       0          107
NewEngland Seamount Chain 0         0       0            0
Norwegian Basin           0         0       0            0
Eastern North Atlantic    0         0       3            0
Logachev and BritishIsles 0         0       0            4
Reykjanes Ridge           0         0       0            0
MAR North                 0         0       0           14
Flemish Cap               0         0       0          217
MAR South                 1         1       0            0
Azores Seamount Chain     0         0       0           12

> class(sps)
[1] "data.frame"

> head(env.data)
  idcell          geo_area
1      1      Sargasso Sea
2      2 Equatorial Brazil
3      3      Canarias Sea
4      4  Corner Seamounts
5      5    Gulf of Mexico
6      6      Labrador Sea

> str(env.data)
'data.frame':   17 obs. of  2 variables:
$ idcell  : Factor w/ 17 levels "1","2","3","4",..: 1 2 3 4 5 6 7 8 9 10 ...
$ geo_area: Factor w/ 17 levels "Canarias Sea",..: 15 5 1 2 7 8 4 17 12 13..  

在{vegan}之后,我首先以Sorensen作为距离方法计算了一个相异矩阵。然后,我将此差异矩阵用作anosim的输入:

dist.sorensen <- vegdist(sps, method= "bray", binary = TRUE, na.rm= TRUE, 
diag = TRUE)
sorensen.anosim <- anosim(dat=dist.sorensen, env.data$geo_area, permutations 
= 999)
> summary(sorensen.anosim )
Call:
anosim(dat = dist.sorensen, grouping = env.data$geo_area, permutations = 
999) 
Dissimilarity: binary bray 
ANOSIM statistic R:  
Significance: 0.001 
Permutation: free
Number of permutations: 999
Error in sort.int(x, na.last = na.last, decreasing = decreasing, ...) : 
'x' must be atomic

我也尝试了用原始物种数据进行anosim,并且得到了相同的错误:

raw.anosim <- anosim(sps, env.data$geo_area, permutations = 999, distance = 
"bray")

有什么想法吗?我的“ sps”数据框(x)是数字。我的“ env.data”数据集(分组)具有一个包含17个级别的因子列。除非错误是我的数据固有的,否则我看不到错误的来源。我原始数据框中列出的313个物种中的许多在我的17个站点中仅记录了一次(很可能是由于采样偏差)。但是,在执行“ vegdist(Sorensen索引)”和“ hclust”之后,我得到了聚类。

0 个答案:

没有答案