Calculates the relative growth (or decline) rate per generation.
Calculates the generational growth/decline rate for a linear piece of a CPL model, or between any two x,y coordinate pairs.
relativeRate(x, y, generation = 25, N = 1000)
x |
A numeric vector of length 2, giving the start and end date of linear piece, or a 2 column matrix such that each row is a start and end pair. |
y |
The corresponding y values such as PDs, or population size (numeric vector of length 2), or a matrix such that each row is a start and end pair. |
generation |
Years per generation. Default = 25. |
N |
Number of sections to average the growth rate across. |
The 'relative rate' (growth or decline) of a straight line between two x,y coordinate pairs is the expected generational growth rate across this line. It is calculated always relative to the larger y-value, providing a symmetric measure. E.g., the absolute percentage changes from 80 to 100 to 80 are calculated as +20 The expected rate is the mean average of the conventional rates for N equal sections of the line, as N approaches infinity.
Returns a numeric vector of values between 0 and 100 representing a 'relative percentage rate per generation'. Negative values indicate a decline through time, positive indicate growth.
x <- c(5600,5500) y <- c(75,80) # conventional growth/decline rate per 25 yr generation 100 * exp(log(y[2]/y[1])/((x[1]-x[2])/25)) - 100 # relative growth/decline rate per 25 yr generation relativeRate(x,y) x <- c(5600,5500) y <- c(480,75) # conventional growth/decline rate per 25 yr generation 100 * exp(log(y[2]/y[1])/((x[1]-x[2])/25)) - 100 # relative growth/decline rate per 25 yr generation relativeRate(x,y) x <- c(5600,5500) y <- c(480,0) # conventional growth/decline rate per 25 yr generation 100 * exp(log(y[2]/y[1])/((x[1]-x[2])/25)) - 100 # relative growth/decline rate per 25 yr generation relativeRate(x,y) # various random rates between 6000 and 5500 BP x <- t(matrix(c(6000,5500),2,1000)) y <- matrix(runif(2000),1000,2) conventional <- 100 * exp(log(y[,2]/y[,1])/((x[,1]-x[,2])/25)) - 100 relative <- relativeRate(x,y) plot(relative, conventional)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.