# F&WL 501 - lab 13 - count-based PVA # Data source: # Interagency Grizzly Bear Study Team - Annual Report 2008 # http://www.nrmsc.usgs.gov/files/norock/products/IGBST/2008report_1-15-2010.pdf year=seq(1983,2008) N=c(19, 22, 18, 28, 17, 21, 18, 25, 38, 41, 21, 23, 43, 38, 39, 37, 36, 51, 48, 58, 46, 58, 31, 45, 53, 56) ln.lambda=log(N[-1]/N[-length(N)]) ln.lambda[length(N)]=NA # put various values of interest together in data frame dat=data.frame(cbind(year,N,ln.lambda)) dat # calculate mean & sd of log(lambda) values gmean=mean(ln.lambda, na.rm=T) var.ln.lambda=var(ln.lambda, na.rm=T) sd.ln.lambda=sqrt(var.ln.lambda) c(gmean, sd.ln.lambda) # plot population trajectory plot(year,N,'o',ylim=c(0,60)) lines(year,N[1]*exp(gmean)^(0:(length(N)-1)),'l',lty=3,col='blue') # simulate population trajectories N0=N[length(N)] # start at most recent value Ne=25 # quasi-extinction threshold time.horizon=25 # number of years to project forward num.sims=5000 # number of simulations to do # storage container for population sizes pop=matrix(NA,time.horizon,num.sims) pop[1,]=N0 # loop to create population sizes for (sim in 1:num.sims){ for (t in 2:time.horizon) { lambda=exp(rnorm(1,gmean,sd.ln.lambda)) pop[t,sim]=pop[(t-1),sim]*lambda if(pop[t,sim]<=Ne) break # stop trajectory if go