R错误地将丰度数据标识为存在/不存在数据(化石包装)

时间:2018-10-30 15:29:26

标签: r fossil

我正在尝试使用RStudio中名为“ fossil”的软件包的spp.est函数。我创建了一个名为“ akimiskibb”的矩阵,该矩阵以物种为列,以站点为行来表示丰度数据。当我尝试使用spp.est函数时,请输入以下内容:

spp.est(akimiskibb,rand = 10,abund = TRUE,计数器= FALSE,max.est ='all')

出现此问题是因为我的丰度数据有很多零,所以我得到了以下错误消息:

如果(max(x)== 1)警告(“不能将入射数据用于基于丰度的分析,则为错误。如果数据基于入射,请再次使用'abund = FALSE'选项运行此功能” ):   缺少需要TRUE / FALSE的值

过去,此函数在具有很多零的矩阵中起作用(它们也是丰度数据,而不是存在/不存在)。我不知道我在做什么错。

有人经历过类似的事情并找到解决方法吗?

谢谢

Kayla

数据: 矩阵格式:

 *sp1 sp2 sp3 sp4 sp5 sp6 sp7 sp8 sp9 sp10 sp11 sp12 sp13 sp14 sp15 sp16 sp17
 sample1    0   0   0   0   0   0   0   1   0    0    0    0    0    0    1    
 0    0
 sample 2   0   0   0   1   0   0   1  25   7    0   18   12    0    0    0    
 1    1
 sample3    0   0   0   0   0   0   0   3   0    0    3    1    0    0    0    
 5    4
 sp18 sp19 sp20 sp21 sp22 sp23 sp24 sp25 sp26 sp27 sp28 sp29 sp30 sp31 
 sp32
 sample1     0    0    0    0    0    0    0    0    0    0    0    0    0    
 0    0
 sample 2    1    0    1    0    0    0    0    0    0    0    0    3    2    
 0    3
 sample3     0    0    1    0    0   11    0    0    0    0    0    0    0    
 0    1
 sp33 sp34 sp35 sp36 sp37 sp38 sp39 sp40 sp41 sp42 sp43  X
 sample1     0    0    0    0    0    0    0    0    0    0    0 NA
 sample 2    0    0    3    2    1    0    0    1    8    0    0 NA
 sample3     0    0    0    0    0    0    0    0    0    0    0 NA*

dput:

 *structure(list(sp1 = c(0L, 0L, 0L), sp2 = c(0L, 0L, 0L), sp3 = c(0L, 
 0L, 0L), sp4 = c(0L, 1L, 0L), sp5 = c(0L, 0L, 0L), sp6 = c(0L, 
 0L, 0L), sp7 = c(0L, 1L, 0L), sp8 = c(1L, 25L, 3L), sp9 = c(0L, 
 7L, 0L), sp10 = c(0L, 0L, 0L), sp11 = c(0L, 18L, 3L), sp12 = c(0L, 
 12L, 1L), sp13 = c(0L, 0L, 0L), sp14 = c(0L, 0L, 0L), sp15 = c(1L, 
 0L, 0L), sp16 = c(0L, 1L, 5L), sp17 = c(0L, 1L, 4L), sp18 = c(0L, 
 1L, 0L), sp19 = c(0L, 0L, 0L), sp20 = c(0L, 1L, 1L), sp21 = c(0L, 
 0L, 0L), sp22 = c(0L, 0L, 0L), sp23 = c(0L, 0L, 11L), sp24 = c(0L, 
 0L, 0L), sp25 = c(0L, 0L, 0L), sp26 = c(0L, 0L, 0L), sp27 = c(0L, 
 0L, 0L), sp28 = c(0L, 0L, 0L), sp29 = c(0L, 3L, 0L), sp30 = c(0L, 
 2L, 0L), sp31 = c(0L, 0L, 0L), sp32 = c(0L, 3L, 1L), sp33 = c(0L, 
 0L, 0L), sp34 = c(0L, 0L, 0L), sp35 = c(0L, 3L, 0L), sp36 = c(0L, 
 2L, 0L), sp37 = c(0L, 1L, 0L), sp38 = c(0L, 0L, 0L), sp39 = c(0L, 
 0L, 0L), sp40 = c(0L, 1L, 0L), sp41 = c(0L, 8L, 0L), sp42 = c(0L, 
 0L, 0L), sp43 = c(0L, 0L, 0L), X = c(NA, NA, NA)), .Names = c("sp1", 
 "sp2", "sp3", "sp4", "sp5", "sp6", "sp7", "sp8", "sp9", "sp10", 
 "sp11", "sp12", "sp13", "sp14", "sp15", "sp16", "sp17", "sp18", 
 "sp19", "sp20", "sp21", "sp22", "sp23", "sp24", "sp25", "sp26", 
 "sp27", "sp28", "sp29", "sp30", "sp31", "sp32", "sp33", "sp34", 
 "sp35", "sp36", "sp37", "sp38", "sp39", "sp40", "sp41", "sp42", 
 "sp43", "X"), class = "data.frame", row.names = c("sample1", 
 "sample 2", "sample3"))*

使用的软件包:

化石(R版本3.4.4制造)

R版本:R x64 3.4.1

1 个答案:

答案 0 :(得分:0)

好的,不熟悉此软件包,因此感谢您向我介绍它。总是很高兴看到R在这么多学科中是如何使用的。

我看到您的应用程序有两个问题。首先,根据fossil的{​​{1}}文档,您的数据需要将样本作为列,将种类作为行。第二个问题是带有spp.est值的“物种”X。您需要摆脱这些,因为该函数无法处理它们。

代码如下:

NA