Escanaba Lake Walleye

  1. The abundance of age-0 fish are the recruits and the abundance of age-5+ fish is the spawning stock.
  2. The relationship between the abundance of age-0 and age-5+ fish is weak at best (see figure further below). I do not expect the Ricker stock-recruitment model to fit well.
  3. The equation for the density independent model is R=7.36S. The equation for the Ricker model is R=26.53S*exp(-0.00109S).
  4. The figure is shown further below.
  5. The estimated recruitment at the mean stock level of 1178 fish is 8665 for the independence model and 8669 for the Ricker model.
  6. The density-dependent Ricker model fits the data significantly better than the density-independent model (p=0.0006).

R Appendix

library(FSA)
library(tidyverse)

wae <- read.csv("https://raw.githubusercontent.com/droglenc/FSAdata/master/data-raw/WalleyeEL.csv")

rckr <- srFuns(type="Ricker")
ind <- srFuns(type="independence")

## Multiplicative Ricker Model
svR <- srStarts(age0~age5,data=wae,type="Ricker")
srR <- nls(log(age0)~log(rckr(age5,a,b)),data=wae,start=svR)
cbind(estimates=coef(srR),confint(srR))
predMeanR <- rckr(1178,a=coef(srR))

## Independence Model
svI <- srStarts(age0~age5,data=wae,type="independence")
srI <- nls(log(age0)~log(ind(age5,a)),data=wae,start=svI)
c(estimates=coef(srI),confint(srI))
predMeanI <- ind(1178,a=coef(srI))

( test <- extraSS(srI,com=srR) )
ggplot(data=wae,mapping=aes(x=age5,y=age0)) +
  stat_function(fun=rckr,args=list(a=coef(srR)),color="red",size=1) +
  stat_function(fun=ind,args=list(a=coef(srI)),color="black",size=1) +
  geom_point(data=wae,mapping=aes(x=age5,y=age0)) +
  scale_x_continuous(name="Number of age-5 Walleye",
                     limits=c(0,NA),expand=expansion(mult=c(0,0.05))) +
  scale_y_continuous(name="Number of age-0 Walleye",
                     limits=c(0,NA),expand=expansion(mult=c(0,0.05))) +
  theme_bw()