eigen.analysis {popbio} | R Documentation |
Calculate population growth rate and other demographic parameters from a projection matrix model using matrix algebra
eigen.analysis(A, zero=TRUE)
A |
a projection matrix |
zero |
Set sensitivities for unobserved transitions to zero |
The calculation of eigenvalues and eignvectors in Matlab is listed in section 4.8.1 (p. 107) in Caswell (2001). In addition, the damping ratio is described in section 4.7.1, sensitivities in section 9.1, and elasticities in section 9.2
A list with 6 items
lambda |
dominant eigenvalue |
stable.stage |
proportional stable stage distribution |
sensitivities |
matrix of eigenvalue sensitivities |
elasticities |
matrix of eigenvalue elasticities |
repro.value |
reproductive value scaled so v[1]=1 |
damping.ratio |
dominant eigenvalue divided by second largest eigenvalue |
If matrix A is singular, then eigen.analysis
will return
elasticities, sensitivities, and reproductive values with NAs
Original code by James Holland Jones, Stanford University, Department of Anthropological Sciences, 12 August 2005 at http://popstudies.stanford.edu/summer_course/
Caswell, H. 2001. Matrix population models: construction, analysis, and interpretation, Second edition. Sinauer, Sunderland, Massachusetts, USA.
projection.matrix
to construct matrix model
data(whale) whaleA<-whale$T+whale$F a<-eigen.analysis(whaleA) a ymax<-max(a$repro.value)*1.25 barplot(a$repro.value, col="blue", ylim=c(0, ymax ), xpd=FALSE, ylab="Reproductive value", xlab="Killer whale stage class") box() ## display sensitititivies of "impossible" transitions ## (postreprod -> juvenile, yearling -> mature, etc) eigen.analysis(whaleA, zero=FALSE)$sensitivities data(teasel) teaselA<-teasel$T + teasel$F a<-eigen.analysis(teaselA) a barplot(a$stable.stage, col="green", ylim=c(0,1), ylab="Stable stage proportion", xlab="Teasel stage class") box()