whale {popbio}R Documentation

T and F matrix for killer whale

Description

Transition and Fertility matrices for killer whales

Usage

data(whale)

Format

A list with three elements. Transition matrix T, Fertility matrix F, and pod-specific matrices.

Source

T and F matrices from Example 5.1 in Caswell (2001) and pod-specific projection matrices (arranged by rows) based on pod-specific matrix elements in the appendix of Brault and Caswell (1993).

References

Brault, S., and H. Caswell. 1993. Pod-specific demography of killer whales (Orcinus orca). Ecology 74:1444-1454.

Caswell, H. 2001. Matrix population models: construction, analysis, and interpretation, Second edition. Sinauer, Sunderland, Massachusetts, USA.

Examples

data(whale)
A <- whale$T + whale$F
A
image2(A, mar=c(1,4.5,6,1))
title("Killer whale matrix", line=3)
eigen.analysis(A)$lambda1

## Individual pod
A1<-matrix(whale$pod$L01, nrow=4, byrow=TRUE)
eigen.analysis(A1)$lambda1

## matrix multiplication (see pop.projection)
n <- c(4, 38, 36, 22)
A %*% n
A %*% A %*% n

######### section 5.3.1 Age-specific survival  ###########
#  equation 5.35
fundamental.matrix(whale$T)$N

# Survivorship plot like figure 5.1 in Caswell.  
# Note example on page 120 uses matrix powers and not element by element 
# which is R default.  Matrix power is not part of base R, but for simple cases 
# this works to do A %*% A %*% A %*% A...

mp<-function(A,pow){
  if(pow==1){A}
  else{
    x<-A
    for(i in (2:pow)){
      A<-x%*%A
    }
  }
  A
}

## use colSums for sum of matrix columns e^T
surv<-matrix(numeric(150*4), ncol=4)
for(x in 1:150)
{
   surv[x,]<-colSums(mp(whale$T,x))
}
## Just plot first stage column?

plot(surv[,1]/surv[1,1], type="l", ylim=c(0,1), las=1, 
  xlab="Age (years)", ylab=expression(paste("Survivorship ", italic(l(x)))))

######### section 5.3.2 Age-specific fertility  ###########
#  equation 5.44
T<- mp(whale$T,20)
whale$F %*% T %*% diag(1/colSums(T))

##  Figure 5.2 in Caswell
fert<-numeric(200)
for(x in 1:200)
{
  T<-mp(whale$T,x)
  phi<-whale$F %*% T %*% diag(1/colSums(T))
  fert[x]<-phi[1,1]
}

op<-par(mar=c(5,5,1,1))
plot(fert, type="l", ylim=c(0,0.07), las=1,
  xlab="Age (years)", ylab="")
mtext("Age-specific fertility", 2,3.5)
par(op)


[Package popbio version 1.1.11 Index]