Download the R package IPMpack (latest version: 1.6 (Jan'13). MAKE SURE YOU HAVE INSTALLED 'Matrix' PACKAGE VERSION 1.0-9.
Since v1.5 IPMpack has new sensitivity functions (for life expectancy, R0, etc) and createIntegerPmatrix lets you build population transition models with integer stages only, based on various vital rate models. We've made further improvements to amongst others the functions makeFecObj, makeDiscreteTrans and elas. The survival and growth matrix is now called Pmatrix (previously Tmatrix) as suggested by a reviewer. The makeFecObj and similar functions now have a Formula slot in which the regression formula (e.g. nPups~size) can be entered.)
IPMpack is an R package (R Development Core Team 2013) that allows users to build and analyse Integral Projection Models. An IPM is a demographic tool to explore the dynamics of populations where individuals' fates depend on state variables that are continuous (e.g. weight, diameter at breast height, height, limb length, rosette diameter...) or quasi-continuous (number of leaves, age, number of reproductive structures) and may be a mixture of discrete (e.g. seedbank) and continuous. IPMs track the distribution of individuals n across these state variables between census times (e.g., year t and year t+1) by projecting from models that define the underlying vital rates (e.g., survival, growth, reproduction) as a function of the (quasi-)continuous state variables. Version 1.5 of IPMpack is now available on CRAN / R-Forge. For those who wish to try it, it can be installed by opening the R console and typing:
install.packages("IPMpack", repos = "http://R-Forge.R-project.org", type = "source")
We have set up a IPMpack users email-list so users can ask questions or provide comments, suggestions or criticism that can help us improve the package.
To use IPMpack's full capacities, it is helpful if the data are in a specific format in R, i.e., a dataframe with the following variables and column names, where each
row represents one measurement in the population:
size of individuals in census time t.
sizeNext of individuals in census time t+1.
surv: survival of individuals from census time t to t+1 (a 0 or 1).
fec1,...: as many columns as desired relating size to sexual reproduction.
stage of individuals in census time t needs to be specified if you want to include discrete classes. For rows in the dataframe where size is not an NA, this must be the word continuous.
stageNext of individuals in census time t+1 (similar to stage).
number of individuals corresponding to each row in the dataframe.
covariate: value of a discrete covariate in census time t, such as light environment, age or patch type.
covariateNext: value of a discrete covariate in census time t+1.
...any other covariates of interest, named as desired (precipition, habitat, temperature,...).
Provides diagnostics for contructed IPMs (see Fig1 above).
Offers a large and growing number of IPM analysis tools.
Future versions will include:
Multiple continuous state variables in the same IPM.
etc. (suggestions are very welcome)
Papers consulted when we built IPMpack:
Caswell H (2001) Matrix Population Models: Analysis, Construction and Interpretation. 2nd ed, Sinauer, Sunderland, Massachusetts
Childs DZ, Rees M, Rose KE, Grubb PJ & Ellner SP (2004) Evolution of size-dependent flowering in a variable environment: Construction and analysis of a stochastic integral projection model.Proc Roy Soc B 271:471–475 pdf
Cochran ME & Ellner SP (1992) Simple methods for calculating age-based life history parameters for stage-structured populations.Ecol Monogr 62:345–364 doi
Ellner SP & Rees M (2006) Integral projection models for species with complex life-histories.Am Nat 167:410-428
Metcalf CJE, Horvitz CC, Tuljapurkar S & Clark DA (2009) A time to grow and a time to die: a new way to analyze the dynamics of size, light, age and death of tropical trees.Ecology 90:2766–2778 doi
Rees M & Rose KE (2002) Evolution of flowering strategies in Oenothera glazioviana: an integral projection model approach.Proc Roy Soc B 269:1509-1515 pdf
Tuljapurkar S (1990) Population Dynamics in Variable Environments. Springer, Berlin
Zuidema PA, Jongejans E, Chien PD, During HJ & Schieving F (2010) Integral Projection Models for trees: a new parameterization method and a validation of model output.Journal of Ecology 98:345-355 pdf
Here we list frequently asked questions, along with other pointers that we deem useful. Some of the answers are accompanied with links to R code on separate pages. If you have additional questions, please subscribe to the users email-list and post your questions there.
Can I perform bayesian analyses with IPMpack?
No, we do not include functions for bayesian analyses. However, some R code (from previous versions of IPMpack) can be found here.
How do I plot my matrices?
From version 2.0 IPMpack no longer contains the function countourPlot. Instead we recommend you use image.plot of the 'fields' package.
How do I compare my IPMs with matrix models?
The relationships stored in your vital rate objects can of course be used to parameterize matrix models as well as IPMs. On a separate page we provide some code to get you started building matrix models from the vital rate objects yourself (we decided to focus our efforts on good-running IPM code and not to continue developing code for matrix models within IPMpack.