From an abundance/presence-absence matrix or data.frame tells if it contains relative abundances or absolute abundances. Checks if all abundances are between 1 and 0 but never checks sum of abundances per community.

is_relative(given_obj, abund = NULL)

Arguments

given_obj

abundance or presence-absence matrix, with sites in rows and species in columns, or tidy community data frame

abund

name of the column of the provided object that contains the abundances

Value

TRUE if the input has relative abundances FALSE otherwise

See also

make_relative() to transform matrix into a relative abundance matrix.

Examples

data("aravo", package = "ade4")

# Site-species matrix
mat = as.matrix(aravo$spe)
head(mat)[, 1:5]  # Has absolute abundances
#>      Agro.rupe Alop.alpi Anth.nipp Heli.sede Aven.vers
#> AR07         0         0         0         0         0
#> AR71         0         0         0         0         0
#> AR26         3         0         1         0         1
#> AR54         0         0         0         2         0
#> AR60         0         0         0         0         0
#> AR70         0         0         0         0         0
rel_mat = make_relative(mat)
head(rel_mat)  # Relative abundances
#>       Agro.rupe Alop.alpi  Anth.nipp  Heli.sede  Aven.vers  Care.rosa Care.foet
#> AR07 0.00000000         0 0.00000000 0.00000000 0.00000000 0.06666667         0
#> AR71 0.00000000         0 0.00000000 0.00000000 0.00000000 0.08695652         0
#> AR26 0.08108108         0 0.02702703 0.00000000 0.02702703 0.05405405         0
#> AR54 0.00000000         0 0.00000000 0.08695652 0.00000000 0.08695652         0
#> AR60 0.00000000         0 0.00000000 0.00000000 0.00000000 0.00000000         0
#> AR70 0.00000000         0 0.00000000 0.00000000 0.00000000 0.09375000         0
#>       Care.parv Care.rupe  Care.semp Fest.laev  Fest.quad  Fest.viol  Kobr.myos
#> AR07 0.00000000   0.20000 0.00000000         0 0.13333333 0.00000000 0.06666667
#> AR71 0.04347826   0.00000 0.00000000         0 0.00000000 0.00000000 0.13043478
#> AR26 0.00000000   0.00000 0.02702703         0 0.08108108 0.02702703 0.10810811
#> AR54 0.00000000   0.00000 0.00000000         0 0.04347826 0.00000000 0.04347826
#> AR60 0.00000000   0.00000 0.00000000         0 0.23076923 0.07692308 0.07692308
#> AR70 0.03125000   0.03125 0.00000000         0 0.00000000 0.00000000 0.12500000
#>       Luzu.lute   Poa.alpi Poa.supi  Sesl.caer Alch.pent  Alch.glau Alch.vulg
#> AR07 0.00000000 0.06666667        0 0.00000000         0 0.00000000         0
#> AR71 0.00000000 0.08695652        0 0.00000000         0 0.00000000         0
#> AR26 0.02702703 0.00000000        0 0.00000000         0 0.02702703         0
#> AR54 0.00000000 0.08695652        0 0.04347826         0 0.00000000         0
#> AR60 0.00000000 0.00000000        0 0.07692308         0 0.00000000         0
#> AR70 0.00000000 0.06250000        0 0.03125000         0 0.00000000         0
#>      Andr.brig  Ante.carp Ante.dioi Arni.mont Aste.alpi  Bart.alpi  Camp.sche
#> AR07         0 0.00000000         0         0         0 0.00000000 0.00000000
#> AR71         0 0.04347826         0         0         0 0.04347826 0.04347826
#> AR26         0 0.02702703         0         0         0 0.00000000 0.02702703
#> AR54         0 0.00000000         0         0         0 0.00000000 0.04347826
#> AR60         0 0.00000000         0         0         0 0.00000000 0.07692308
#> AR70         0 0.03125000         0         0         0 0.03125000 0.03125000
#>      Card.alpi Cera.stri Cera.cera Leuc.alpi Cirs.acau  Drab.aizo  Drya.octo
#> AR07         0   0.00000         0         0         0 0.00000000 0.00000000
#> AR71         0   0.00000         0         0         0 0.00000000 0.04347826
#> AR26         0   0.00000         0         0         0 0.00000000 0.00000000
#> AR54         0   0.00000         0         0         0 0.04347826 0.00000000
#> AR60         0   0.00000         0         0         0 0.00000000 0.00000000
#> AR70         0   0.03125         0         0         0 0.00000000 0.03125000
#>       Erig.unif Gent.camp  Gent.acau  Gent.vern  Geum.mont Omal.supi  Andr.vita
#> AR07 0.00000000         0 0.00000000 0.00000000 0.00000000         0 0.00000000
#> AR71 0.00000000         0 0.00000000 0.00000000 0.00000000         0 0.00000000
#> AR26 0.02702703         0 0.02702703 0.02702703 0.05405405         0 0.00000000
#> AR54 0.04347826         0 0.00000000 0.04347826 0.00000000         0 0.00000000
#> AR60 0.00000000         0 0.00000000 0.07692308 0.00000000         0 0.07692308
#> AR70 0.00000000         0 0.00000000 0.00000000 0.00000000         0 0.00000000
#>      Hier.pili Homo.alpi Leon.pyre  Ligu.muto  Lloy.sero  Minu.sedo  Minu.vern
#> AR07         0   0.00000         0 0.00000000 0.00000000 0.06666667 0.06666667
#> AR71         0   0.00000         0 0.04347826 0.04347826 0.00000000 0.00000000
#> AR26         0   0.00000         0 0.00000000 0.00000000 0.00000000 0.02702703
#> AR54         0   0.00000         0 0.04347826 0.00000000 0.00000000 0.04347826
#> AR60         0   0.00000         0 0.00000000 0.00000000 0.00000000 0.07692308
#> AR70         0   0.03125         0 0.06250000 0.03125000 0.00000000 0.00000000
#>      Phyt.orbi Plan.alpi  Poly.vivi  Pote.aure  Pote.cran Pote.gran  Puls.vern
#> AR07         0         0 0.06666667 0.00000000 0.00000000         0 0.00000000
#> AR71         0         0 0.04347826 0.00000000 0.00000000         0 0.00000000
#> AR26         0         0 0.02702703 0.05405405 0.02702703         0 0.05405405
#> AR54         0         0 0.00000000 0.00000000 0.00000000         0 0.00000000
#> AR60         0         0 0.07692308 0.00000000 0.00000000         0 0.00000000
#> AR70         0         0 0.03125000 0.00000000 0.00000000         0 0.00000000
#>      Ranu.kuep Sagi.glab Sali.herb  Sali.reti  Sali.retu  Sali.serp  Saxi.pani
#> AR07         0         0         0 0.00000000 0.00000000 0.00000000 0.06666667
#> AR71         0         0         0 0.04347826 0.08695652 0.04347826 0.00000000
#> AR26         0         0         0 0.00000000 0.00000000 0.00000000 0.00000000
#> AR54         0         0         0 0.00000000 0.00000000 0.00000000 0.08695652
#> AR60         0         0         0 0.00000000 0.00000000 0.00000000 0.07692308
#> AR70         0         0         0 0.06250000 0.06250000 0.00000000 0.03125000
#>      Sedu.alpe  Semp.mont Sene.inca Sibb.proc  Sile.acau  Thym.poly Vero.alpi
#> AR07         0 0.00000000         0         0 0.06666667 0.00000000         0
#> AR71         0 0.04347826         0         0 0.04347826 0.00000000         0
#> AR26         0 0.02702703         0         0 0.02702703 0.00000000         0
#> AR54         0 0.04347826         0         0 0.00000000 0.08695652         0
#> AR60         0 0.00000000         0         0 0.00000000 0.00000000         0
#> AR70         0 0.03125000         0         0 0.06250000 0.00000000         0
#>      Vero.alli  Vero.bell  Myos.alpe Tara.alpi  Scab.luci  Anth.alpe  Oxyt.camp
#> AR07         0 0.00000000 0.00000000         0 0.00000000 0.00000000 0.06666667
#> AR71         0 0.00000000 0.00000000         0 0.00000000 0.04347826 0.00000000
#> AR26         0 0.00000000 0.02702703         0 0.02702703 0.00000000 0.02702703
#> AR54         0 0.04347826 0.04347826         0 0.00000000 0.00000000 0.00000000
#> AR60         0 0.00000000 0.00000000         0 0.00000000 0.00000000 0.00000000
#> AR70         0 0.03125000 0.00000000         0 0.00000000 0.00000000 0.00000000
#>       Oxyt.lapp Lotu.alpi Trif.alpi Trif.badi Trif.thal
#> AR07 0.06666667         0         0         0         0
#> AR71 0.04347826         0         0         0         0
#> AR26 0.00000000         0         0         0         0
#> AR54 0.04347826         0         0         0         0
#> AR60 0.07692308         0         0         0         0
#> AR70 0.03125000         0         0         0         0

# Forced to use ':::' becasue function is not exported
funrar:::is_relative(mat)      # FALSE
#> [1] FALSE
funrar:::is_relative(rel_mat)  # TRUE
#> [1] TRUE