Calculates the slope of the differences in species composition within a community over increasing time intervals, which provides a measures of the rate of directional change in community composition. Differences in species composition are characterized by Euclidean distances, which are calculated on pair-wise communities across the entire time series. For example, a data set with six time intervals will have distance values for five one-year time lags (year 1 vs year 2, year 2 vs year 3 ...), four two-year time lags (year 1 vs year 3, year 2 vs year 4 ...) and so forth. These distance values are regressed against the time lag interval. The slope of the regression line is reported as an indication of the rate and direction of compositional change in the community.
Value
The rate_change function returns a numeric rate change value unless a replication column is specified in the input data frame.
If replication is specified, the function returns a data frame with the following attributes:
- **rate_change**: A numeric column with the synchrony values.
- **replicate.var**: A column that shares the same name and type as the replicate.var column in the input data frame.
Details
The input data frame needs to contain columns for time, species and abundance; time.var, species.var and abundance.var are used to indicate which columns contain those variables. If multiple replicates are included in the data frame, that column should be specified with replicate.var. Each replicate should reflect a single experimental unit - there must be a single abundance value per species within each time point and replicate.
The rate_change function uses linear regression to relate Euclidean distances to time lag intervals.
It is recommended that fit of this relationship be verified using rate_change_interval,
which returns the full set of community distance values and associated time lag intervals.
References
Collins, S. L., Micheli, F. and Hartt, L. 2000. A method to determine rates and patterns of variability in ecological communities. - Oikos 91: 285-293.
Examples
data(knz_001d)
rate_change(knz_001d[knz_001d$subplot=="A_1",],
time.var = "year",
species.var = "species",
abundance.var = "abundance") # for one subplot
#> [1] 0.6706902
rate_change(knz_001d,
time.var = "year",
species.var = "species",
abundance.var = "abundance",
replicate.var = "subplot") # across all subplots
#> subplot rate_change
#> 1 A_1 0.6706902
#> 389 A_2 1.3087934
#> 793 A_3 2.1391173
#> 1264 A_4 1.5587084
#> 1705 A_5 2.3302497
#> 2077 B_1 1.5640603
#> 2564 B_2 2.6077139
#> 2934 B_3 1.3402601
#> 3337 B_4 1.4758986
#> 3771 B_5 1.5537590
#> 4233 C_1 2.2018922
#> 4687 C_2 2.5573852
#> 5067 C_3 1.4992809
#> 5560 C_4 1.3525710
#> 5957 C_5 1.3203894
#> 6459 D_1 2.1336282
#> 6965 D_2 2.1188434
#> 7447 D_3 1.5775734
#> 7935 D_4 1.6354767
#> 8302 D_5 1.3237555