Population dynamics and mathematical models of animal population growth are an important area of ecology, for both understanding how animal populations change through time, as well as managing populations to achieve natural resource objectives. Populations can be classified more or less into one of three categories, depending on their attributes and human values:
Sustainable yield– populations are widely distributed, occur in relatively high numbers, and are capable of withstanding a degree of offtake without long-term depletion.
Control - populations are very abundant, growing rapidly, may be exotic/ invasive, create social or environmental problems.
Conservation – populations have restricted distributions, relatively low numbers, and growth may be insufficient to assure persistence without intervention.
Notably, some species may at various times or places fall into more than one of these categories. For example, white-tailed deer in parts of North America occurred in low numbers in much of the early 20th century and were nearly extirpated in some locales (3). Populations of this species have, because of a combination of land use changes and management actions (e.g., harvest regulation, reintroduction) have recovered to allow sustainable harvest (1) throughout most of the range, and are in many places “overabundant”, with consequent negative impacts on agriculture, forestry, and human safety (2).
Population models, suitably informed by data, can be useful tools for achieving whatever management goals are appropriate. Furthermore, the basic principles of modeling are the same whether we are talking about sustainable harvest, control, or conservation, although the specific details and emphases of the models will differ.
There are many ways to construct population models in R (or other platforms including spreadsheets) and there is no one right way. Fundamentally the approaches boil down to:
Models based on an explicit equation solving where the population will be at some time t, given initial conditions and assumed parameter values
Models based on discrete iteration over a series of time steps from some starting point and assumed parameter values.
We will start out with simple growth models that involve neither stochastic effects nor density feedback, and then create more complex and realistic models with random effects,density, or both. We will also briefly consider age structure and models based on direct modeling of stochastic processes.
The exponential growth model assumes that the population starts out at time t=0 at some initial N(0), and growth at constant exponential rate r. If r>0 this results in theoretically unlimited growth over time, if r<0 eventual asymptotic decline to 0, and if r=0 the population stays where it is, N0. The fundamental equation of growth is a differential equation.
dN/dt = rN(t)
or difference equation
N[t + 1] − N[t] = rN(t)
These can be solved to find a value for N at any future t, given N0 and r as
N(t) = N(0)ert.
For a single time step, growth can be modeled discretely as
N(t + 1) = N(t)er
There are thus 2 basic ways to simulate growth: directly (by the 1st equation) or iteratively (by the 2nd). The 2 give equivalent results (this can also be proven mathematically). Both approaches are illustrated in the attached code, which you can run and compare. You can also change the values of N0, r, and T (number of years simulated) in any sensible (no negative N or time please!) fashion you wish.
Applications