MyNixOS website logo
Description

An Exact Method for Life Table Response Experiment (LTRE) Analysis.

Life Table Response Experiments (LTREs) are a method of comparative demographic analysis. The purpose is to quantify how the difference or variance in vital rates (stage-specific survival, growth, and fertility) among populations contributes to difference or variance in the population growth rate, "lambda." We provide functions for one-way fixed design and random design LTRE, using either the classical methods that have been in use for several decades, or an fANOVA-based exact method that directly calculates the impact on lambda of changes in matrix elements, for matrix elements and their interactions. The equations and descriptions for the classical methods of LTRE analysis can be found in "Matrix Population Models: Construction, Analysis, and Interpretation (2nd edition)" Caswell (2001, ISBN: 0878930965), and the fANOVA-based exact methods will be published in a forthcoming paper. We also provide some demographic functions, including generation time from Bienvenu and Legendre (2015) <doi:10.1086/681104>. For implementation of exactLTRE where all possible interactions are calculated, we use an operator matrix presented in Poelwijk, Krishna, and Ranganathan (2016) <doi:10.1371/journal.pcbi.1004771>.

exactLTRE

R-CMD-check

The goal of exactLTRE is to provide a set of friendly tools to increase use of exact LTRE methods. Life Table Response Experiments are a valuable tool for advancing our knowledge about how stage-specific vital rates influence population dynamics. The results of LTREs also inform conservation goals, by identifying the life stage and vital rate (for example, juvenile survival or adult reproductive success) that had the largest impact on population growth rate in past observations or following a management intervention.

The classical methods of LTRE, presented in the Caswell (2001) textbook, use Taylor expansion approximations to calculate the contributions of vital rates. These classical methods also do not include many interactions terms which may be important. Exact LTRE provides an exact calculation of each contribution term, including interactions terms, by directly calculating the impact on population growth rate of differences or variation in vital rates.

This package includes functions for the classical methods as well as the fANOVA-based exact methods that we introduce. This will allow researchers to use both the methods that are standard in the literature up until now (2021), and the new methods that we encourage as a new standard.

Installation

You can install the development version of exactLTRE from GitHub with:

# install.packages("devtools")
devtools::install_github("chrissy3815/exactLTRE")
# if that doesn't work, try:
devtools::install_github("chrissy3815/exactLTRE", ref="main")

Fixed Design LTRE

A fixed design LTRE decomposes the difference in population growth rate (“lambda,” i.e. the leading eigenvalue of the population projection matrix) into the contributions from differences in the vital rates, and their interactions.

A fixed design LTRE compares exactly two matrices. This can be done either as a symmetric or directional analysis, and it should match the experimental design for the data collection.

library(exactLTRE)
## basic example code
A1<- matrix(data=c(0,0.8,0, 0,0,0.7, 5,0,0.2), nrow=3, ncol=3)
A2<- matrix(data=c(0,0.9,0, 0,0,0.5, 4,0,0.3), nrow=3, ncol=3)
# contributions to the difference in lambda for a directional design
cont_directional<- exactLTRE(list(A1,A2), method='fixed', fixed.directional=TRUE) 
# contributions to the difference in lambda for a symmetric design
cont_symmetric<- exactLTRE(list(A1,A2), method='fixed', fixed.directional=FALSE)

Random Design LTRE

A random design LTRE decomposes the variance in population growth rate (“lambda,” i.e. the leading eigenvalue of the population projection matrix) into the contributions from (co)variances of the vital rates and their interactions.

A random design LTRE can be used on an unordered list of two or more matrices.

library(exactLTRE)
## basic example code
A1<- matrix(data=c(0,0.8,0, 0,0,0.7, 5,0,0.2), nrow=3, ncol=3)
A2<- matrix(data=c(0,0.9,0, 0,0,0.5, 4,0,0.3), nrow=3, ncol=3)
A3<- matrix(data=c(0,0.4,0, 0,0,0.6, 6,0,0.25), nrow=3, ncol=3)
# contributions to the variance of lambda
cont_var<- exactLTRE(list(A1,A2,A3), method='random')
Metadata

Version

0.1.0

License

Unknown

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows