首页 > 解决方案 > BiodiversityR::rankabundance() 函数不计算 plower 和 pupper 值

问题描述

我相信我的 data.frame 的组织方式与 [示例] 1相同,但我没有得到plowerpupper。我的代码是rankabundance(data,y="env"). 请让我知道可能导致问题的原因。这是部分数据。

我注意到将dput(head(data)我的 row.names 显示为row.names = c(NA, 6L),这与dune数据行的格式不同 -row.names = c("1", "2", "3", "4", "5", "6")但如果我检查row.names(head(data)我得到[1] "1" "2" "3" "4" "5" "6",这与我申请时相同,row.names(head(dune))所以我很困惑。

物种数据

structure(list(DIGSA = c(2.96512, 0, 3.7184, 0, 0, 9.82196), 
    SETFA = c(6.67152, 166.60268, 0, 0, 1876.55032, 0), SETLU = c(0, 
    0, 69.3056, 103.0848, 0, 0), PANCA = c(0, 0, 0, 0, 0, 0), 
    ECHCG = c(0, 0, 0, 0, 114.8984, 0), ERBVI = c(0, 0, 0, 0, 
    0, 16.30816), CYPES = c(0, 0, 0, 0, 0, 0), AMATA = c(27.24204, 
    0, 5.264, 1.232, 496.10164, 2582.80484), CHEAL = c(0, 44.84744, 
    35.4816, 29.2096, 459.96424, 0), SOLPT = c(0, 4.81832, 0, 
    0, 0, 0), PHYSU = c(0, 0, 0, 0, 0, 0), POLCC = c(0, 0, 0, 
    0, 0, 0), POLPY = c(0, 0, 0, 0, 0, 0), ABUTH = c(0, 0, 0, 
    0, 1742.9346, 0), TAROF = c(0, 0, 0, 1.6352, 0, 0), EPHHT = c(0, 
    0, 0, 0, 0, 0), CIRAR = c(0, 0, 0, 0, 0, 0), SONAR = c(0, 
    0, 0, 0, 0, 0), MORAL = c(0, 0, 0, 0, 0, 0), OXAST = c(0, 
    0, 0, 0, 0, 0), POLLA = c(0, 0, 0, 0, 0, 0), ASCSY = c(0, 
    0, 0, 0, 0, 0), POLAV = c(0, 0, 0, 0, 0, 0), PLAMA = c(0, 
    0, 0, 0, 0, 0), PANVI = c(0, 0, 0, 0, 0, 0), PANDI = c(0, 
    0, 0, 0, 0, 0), CONAR = c(0, 0, 0, 0, 0, 0), IPOHE = c(0, 
    0, 0, 0, 0, 0), RUMCR = c(0L, 0L, 0L, 0L, 0L, 0L), EPHMA = c(0, 
    0, 0, 0, 14.8256, 0), RYE__ = c(0, 0, 0, 0, 0, 0), SOLNI = c(0, 
    0, 0, 0, 0, 0), ACRSP = c(0, 0, 0, 0, 0, 0), BROIN = c(0, 
    0, 0, 0, 0, 0), POAPR = c(0, 0, 0, 0, 0, 0), POATR = c(0, 
    0, 0, 0, 0, 0), ASTPI = c(0, 0, 0, 0, 0, 0), BROTE = c(0, 
    0, 0, 0, 0, 0)), row.names = c(NA, 6L), class = "data.frame")

环境数据

structure(list(Plot = c(11L, 11L, 12L, 12L, 13L, 13L), Side = c("W", 
"E", "W", "E", "W", "E"), Crop = c("corn", "corn", "oat", "oat", 
"soybean", "soybean"), Trt = c("C3", "C3", "O4", "O4", "S2", 
"S2"), Rot = c("3-year", "3-year", "4-year", "4-year", "2-year", 
"2-year"), Herb = c("conv", "low", "conv", "low", "conv", "conv"
), Block = c("rep1", "rep1", "rep1", "rep1", "rep1", "rep1"), 
    Year = c(2017L, 2017L, 2017L, 2017L, 2017L, 2017L)), row.names = c(NA, 
6L), class = "data.frame")

我的结果

rankabundance(data,env)
      rank abundance proportion plower pupper accumfreq logabun rankfreq
CHEAL    1  144547.2       42.6    NaN    NaN      42.6     5.2      2.6
AMATA    2   83784.9       24.7    NaN    NaN      67.2     4.9      5.3
SETFA    3   47263.4       13.9    NaN    NaN      81.2     4.7      7.9
TAROF    4   17524.0        5.2    NaN    NaN      86.3     4.2     10.5
ABUTH    5   17472.1        5.1    NaN    NaN      91.5     4.2     13.2
SETLU    6   13955.4        4.1    NaN    NaN      95.6     4.1     15.8

示例结果

rankabundance(dune,dune.env)
         rank abundance proportion plower pupper accumfreq logabun rankfreq
Poatriv     1        63        9.2    6.0   12.4       9.2     1.8      3.3
Lolipere    2        58        8.5    4.9   12.0      17.7     1.8      6.7
Scorautu    3        54        7.9    5.7   10.0      25.5     1.7     10.0
Bracruta    4        49        7.2    4.6    9.7      32.7     1.7     13.3
Agrostol    5        48        7.0    3.3   10.7      39.7     1.7     16.7
Poaprat     6        48        7.0    4.8    9.2      46.7     1.7     20.0
Trifrepe    7        47        6.9    4.5    9.2      53.6     1.7     23.3
Alopgeni    8        36        5.3    1.8    8.7      58.8     1.6     26.7
Elymrepe    9        26        3.8    1.1    6.5      62.6     1.4     30.0
Planlanc   10        26        3.8    1.2    6.4      66.4     1.4     33.3
Eleopalu   11        25        3.6    0.3    7.0      70.1     1.4     36.7
Anthodor   12        21        3.1    0.8    5.4      73.1     1.3     40.0
Sagiproc   13        20        2.9    0.9    5.0      76.1     1.3     43.3
Juncarti   14        18        2.6    0.4    4.9      78.7     1.3     46.7
Rumeacet   15        18        2.6    0.3    4.9      81.3     1.3     50.0
Achimill   16        16        2.3    0.7    4.0      83.6     1.2     53.3
Bromhord   17        15        2.2    0.4    4.0      85.8     1.2     56.7
Ranuflam   18        14        2.0    0.4    3.7      87.9     1.1     60.0
Bellpere   19        13        1.9    0.6    3.2      89.8     1.1     63.3
Juncbufo   20        13        1.9    0.0    3.8      91.7     1.1     66.7
Salirepe   21        11        1.6   -0.3    3.6      93.3     1.0     70.0
Callcusp   22        10        1.5   -0.3    3.2      94.7     1.0     73.3
Hyporadi   23         9        1.3   -0.4    3.1      96.1     1.0     76.7
Trifprat   24         9        1.3   -0.3    2.9      97.4     1.0     80.0
Airaprae   25         5        0.7   -0.4    1.8      98.1     0.7     83.3
Comapalu   26         4        0.6   -0.3    1.5      98.7     0.6     86.7
Vicilath   27         4        0.6   -0.1    1.3      99.3     0.6     90.0
Empenigr   28         2        0.3   -0.3    0.9      99.6     0.3     93.3
Cirsarve   29         2        0.3   -0.3    0.9      99.9     0.3     96.7
Chenalbu   30         1        0.1   -0.2    0.5     100.0     0.0    100.0

谢谢你。

标签: r

解决方案


我发现我在数据集的另一部分有一些全零行。删除那些解决了问题。


推荐阅读