Skip to contents

Calculates differences between two samples for four comparable aspects of rank abundance curves (richness, evenness, rank, species composition). There are three ways differences can be calculated. 1) Between treatments within a block (note: block.var and treatment.var need to be specified). 2) Between treatments, pooling all replicates into a single species pool (note: pool = TRUE, treatment.var needs to be specified, and block.var will be NULL). 3) All pairwise combinations between all replicates (note: block.var = NULL, pool = FALSE and specifying treatment.var is optional. If treatment.var is specified, the treatment that each replicate belongs to will also be listed in the output).

Usage

RAC_difference(
  df,
  time.var = NULL,
  species.var,
  abundance.var,
  replicate.var,
  treatment.var = NULL,
  pool = FALSE,
  block.var = NULL,
  reference.treatment = NULL
)

Arguments

df

A data frame containing a species, abundance, and replicate columns and optional time, treatment, and block columns.

time.var

The name of the optional time column.

species.var

The name of the species column.

abundance.var

The name of the abundance column.

replicate.var

The name of the replicate column. Replicate identifiers must be unique within the dataset and cannot be nested within treatments or blocks.

treatment.var

The name of the optional treatment column.

pool

An argument to allow abundance values to be pooled within a treatment. The default value is "FALSE", a value of "TRUE" averages abundance of each species within a treatment at a given time point.

block.var

The name of the optional block column.

reference.treatment

The name of the optional treatment that all other treatments will be compared to (e.g. only controls will be compared to all other treatments). If not specified all pairwise treatment comparisons will be made.

Value

The `RAC_difference()` function returns a data frame with the following attributes: - **time.var**: A column that has the same name and type as the `time.var` column, if `time.var` is specified. - **block.var**: A column that has same name and type as the `block.var` column, if `block.var` is specified. - **replicate.var**: A column that has same name and type as the `replicate.var` column, represents the first replicate being compared. Note, a replicate column will be returned only when `pool = FALSE` or `block.var = NULL`. - **replicate.var2**: A column that has the same type as the `replicate.var` column, and is named `replicate.var` with a '2' appended to it, represents the second replicate being compared. Note, a `replicate.var` column will be returned only when `pool = FALSE` and `block.var = NULL`. - **treatment.var**: A column that has the same name and type as the `treatment.var` column, represents the first treatment being compared. A `treatment.var` column will be returned when `pool = TRUE` or `block.var` is present, or `treatment.var` is specified. - **treatment.var2**: A column that has the same type as the `treatment.var` column, and is named `treatment.var` with a '2' appended to it, represents the second treatment being compared. A `treatment.var` column will be returned when `pool = TRUE` or `block.var` is present, or `treatment.var` is specified. - **richness_diff**: A numeric column that is the difference between the compared samples (treatments or replicates) in species richness divided by the total number of unique species in both samples. A positive value occurs when there is greater species richness in `replicate.var2` than `replicate.var` or `treatment.var2` than `treatment.var`. - **evenness_diff**: A numeric column of the difference between the compared samples (treatments or replicates) in evenness (measured by Evar). A positive value occurs when there is greater evenness in `replicate.var2` than `replicate.var` or `treatment.var2` than `treatment.var`. - **rank_diff**: A numeric column of the absolute value of average difference between the compared samples (treatments or replicates) in species' ranks divided by the total number of unique species in both samples. Species that are not present in both samples are given the S+1 rank in the sample it is absent in, where S is the number of species in that sample. - **species_diff**: A numeric column of the number of species that are different between the compared samples (treatments or replicates) divided by the total number of species in both samples. This is equivalent to the Jaccard Index.#' @references Avolio et al. Submitted

Examples

data(pplots)
# With block and no time
df <- subset(pplots, year == 2002 & block < 3)
RAC_difference(df = df,
               species.var = "species",
               abundance.var = "relative_cover",
               treatment.var = 'treatment',
               block.var = "block",
               replicate.var = "plot")
#>   block plot plot2 treatment treatment2 richness_diff evenness_diff rank_diff
#> 1     1   25    29      N1P0       N2P0    0.00000000  -0.001809309 0.1404959
#> 2     2   27    32      N1P0       N2P0    0.08695652   0.001404158 0.1455577
#> 3     1   25    13      N1P0       N2P3    0.04166667   0.010224629 0.1788194
#> 4     2   27    21      N1P0       N2P3    0.00000000  -0.042893611 0.1965974
#> 5     1   29    13      N2P0       N2P3    0.04000000   0.012014700 0.1600000
#> 6     2   32    21      N2P0       N2P3   -0.08333333  -0.044237256 0.1597222
#>   species_diff
#> 1    0.3636364
#> 2    0.2608696
#> 3    0.4166667
#> 4    0.4347826
#> 5    0.4800000
#> 6    0.3333333

# With blocks and time
df <- subset(pplots, year < 2004 & block < 3)
RAC_difference(df = df,
               species.var = "species",
               abundance.var = "relative_cover",
               treatment.var = 'treatment',
               block.var = "block",
               replicate.var = "plot",
               time.var = "year")
#>    year block plot plot2 treatment treatment2 richness_diff evenness_diff
#> 1  2002     1   25    29      N1P0       N2P0    0.00000000  -0.001809309
#> 2  2002     2   27    32      N1P0       N2P0    0.08695652   0.001404158
#> 3  2003     1   25    29      N1P0       N2P0    0.13636364   0.036330206
#> 4  2003     2   27    32      N1P0       N2P0    0.19230769   0.149095677
#> 5  2002     1   25    13      N1P0       N2P3    0.04166667   0.010224629
#> 6  2002     2   27    21      N1P0       N2P3    0.00000000  -0.042893611
#> 7  2003     1   25    13      N1P0       N2P3   -0.04761905   0.064059578
#> 8  2003     2   27    21      N1P0       N2P3    0.00000000   0.013942131
#> 9  2002     1   29    13      N2P0       N2P3    0.04000000   0.012014700
#> 10 2002     2   32    21      N2P0       N2P3   -0.08333333  -0.044237256
#> 11 2003     1   29    13      N2P0       N2P3   -0.17391304   0.027581827
#> 12 2003     2   32    21      N2P0       N2P3   -0.18518519  -0.135054540
#>    rank_diff species_diff
#> 1  0.1404959    0.3636364
#> 2  0.1455577    0.2608696
#> 3  0.2128099    0.3636364
#> 4  0.1656805    0.3846154
#> 5  0.1788194    0.4166667
#> 6  0.1965974    0.4347826
#> 7  0.2018141    0.5714286
#> 8  0.1788194    0.6666667
#> 9  0.1600000    0.4800000
#> 10 0.1597222    0.3333333
#> 11 0.1776938    0.4347826
#> 12 0.1865569    0.4444444

# With blocks, time and reference treatment
df <- subset(pplots, year < 2004 & block < 3)
RAC_difference(df = df,
               species.var = "species",
               abundance.var = "relative_cover",
               treatment.var = 'treatment',
               block.var = "block",
               replicate.var = "plot",
               time.var = "year",
               reference.treatment = "N1P0")
#>   year block plot plot2 treatment treatment2 richness_diff evenness_diff
#> 1 2002     1   25    29      N1P0       N2P0    0.00000000  -0.001809309
#> 2 2002     2   27    32      N1P0       N2P0    0.08695652   0.001404158
#> 3 2003     1   25    29      N1P0       N2P0    0.13636364   0.036330206
#> 4 2003     2   27    32      N1P0       N2P0    0.19230769   0.149095677
#> 5 2002     1   25    13      N1P0       N2P3    0.04166667   0.010224629
#> 6 2002     2   27    21      N1P0       N2P3    0.00000000  -0.042893611
#> 7 2003     1   25    13      N1P0       N2P3   -0.04761905   0.064059578
#> 8 2003     2   27    21      N1P0       N2P3    0.00000000   0.013942131
#>   rank_diff species_diff
#> 1 0.1404959    0.3636364
#> 2 0.1455577    0.2608696
#> 3 0.2128099    0.3636364
#> 4 0.1656805    0.3846154
#> 5 0.1788194    0.4166667
#> 6 0.1965974    0.4347826
#> 7 0.2018141    0.5714286
#> 8 0.1788194    0.6666667

# Pooling by treatment with time
df <- subset(pplots, year < 2004)
RAC_difference(df = df,
               species.var = "species",
               abundance.var = "relative_cover",
               treatment.var = 'treatment',
               pool = TRUE,
               replicate.var = "plot",
               time.var = "year")
#>   year treatment treatment2 richness_diff evenness_diff rank_diff species_diff
#> 1 2002      N1P0       N2P0    0.02439024  -0.031043940 0.1171921    0.3414634
#> 2 2003      N1P0       N2P0   -0.05128205  -0.001299208 0.1157133    0.2564103
#> 3 2002      N1P0       N2P3    0.04761905   0.005877324 0.1439909    0.3333333
#> 4 2003      N1P0       N2P3    0.00000000  -0.013034145 0.1405896    0.3809524
#> 5 2002      N2P0       N2P3    0.02222222   0.036852369 0.1545679    0.4444444
#> 6 2003      N2P0       N2P3    0.04651163  -0.011731183 0.1471065    0.4186047

# All pairwise replicates with treatment
df <- subset(pplots, year < 2004 & plot %in% c(21, 25, 32))
RAC_difference(df = df,
               species.var = "species",
               abundance.var = "relative_cover",
               replicate.var = "plot",
               time.var = "year",
               treatment.var = "treatment")
#>   year plot plot2 treatment treatment2 richness_diff evenness_diff rank_diff
#> 1 2002   21    25      N2P3       N1P0    0.00000000   0.036178568 0.1983471
#> 2 2003   21    25      N2P3       N1P0   -0.04761905   0.013428615 0.2018141
#> 3 2002   21    32      N2P3       N2P0    0.08333333   0.044237256 0.1597222
#> 4 2003   21    32      N2P3       N2P0    0.18518519   0.135054540 0.1865569
#> 5 2002   25    32      N1P0       N2P0    0.08695652   0.008173823 0.1833648
#> 6 2003   25    32      N1P0       N2P0    0.23076923   0.121868813 0.1923077
#>   species_diff
#> 1    0.3636364
#> 2    0.4761905
#> 3    0.3333333
#> 4    0.4444444
#> 5    0.2608696
#> 6    0.3846154

# All pairwise replicates without treatment
df <- subset(pplots, year < 2004 & plot %in% c(21, 25, 32))
RAC_difference(df = df,
               species.var = "species",
               abundance.var = "relative_cover",
               replicate.var = "plot",
               time.var = "year")
#>   year plot plot2 richness_diff evenness_diff rank_diff species_diff
#> 1 2002   21    25    0.00000000   0.036178568 0.1983471    0.3636364
#> 2 2003   21    25   -0.04761905   0.013428615 0.2018141    0.4761905
#> 3 2002   21    32    0.08333333   0.044237256 0.1597222    0.3333333
#> 4 2003   21    32    0.18518519   0.135054540 0.1865569    0.4444444
#> 5 2002   25    32    0.08695652   0.008173823 0.1833648    0.2608696
#> 6 2003   25    32    0.23076923   0.121868813 0.1923077    0.3846154