Objetivos:
Montar uma tabela de vida para a população de uma espécie que contenha as seguintes informações:
(exp(-r*x))*lx*bx
(ver equação 3.6, pp. 59);(exp(-r*x))*ly*by
(ver equação 3.12, pp. 65);
Ao final, nós vamos calcular a partir da tabela de vida, a taxa líquida de reprodução (Ro), o tempo de geração (G), uma aproximação da taxa intrínseca de crescimento (r), o r de Euler (re) e o valor reprodutivo (vx). Além disso, vamos obter uma representação gráfica do perfil de sobrevivência em função das classes etárias.
Sx<-c(1000,300,200,120,50,0) bx<-c(0,2,4,3,1,0)
tab.vida
. Lembre-se de que todos os parâmetros da tabela de vida são calculados a partir de Sx e bx.if (length(Sx)!=length(bx)) { stop("Erro !! Sx e bx têm comprimentos diferentes") }
nclass=length(Sx)
).nclass=length(Sx) resulta=matrix(0, nrow=nclass, ncol=9) colnames(resulta)<-c("x","S(x)", "b(x)","l(x)","g(x)","l(x)b(x)","l(x)b(x)x", "init.est", "correct.est")
gx=lx[2:nclas]/lx[1:(nclass-1)]
).cat
para mostar o valor de Ro na tela.cat
para imprimir o valor de G.cat
para imprimir o valor aproximado de r.est.resulta[,"init.est"]<-round(exp(-r.est*resulta[,"x"])*resulta[,"l(x)"]*resulta[,"b(x)"],3) euler<-numeric(0) try.r<-seq(r.est-0.2*r.est,r.est+0.2*r.est,0.0001)''\\ for(i in 1:length(try.r) ) { euler[i]<-sum(exp(-try.r[i]*resulta[,"x"])*resulta[,"l(x)b(x)"])''\\ } r.eule<-try.r[which(round(euler,3)==1.000)] r.euler<-r.eule[floor(length(r.eule)/2)] eq.euler<-euler[which(try.r==r.euler)] resulta[,"correct.est"]<-round(exp(-r.euler*TABVIDA[,"x"])*TABVIDA[,"l(x)b(x)"],3)''\\ cat(paste("r estimado =", round(r.est,4)), "\n") cat(paste("Correção adicionada ao r estimado =", round(r.euler-r.est,4)), "\n") cat(paste("r de Euler =", round(r.euler,4),"Eq Euler=",round(eq.euler,5)),"\n")
vr=rep(0, nclass) e1=exp(r.euler*resulta[,"x"])/resulta[,"l(x)"] e2= exp(-r.euler * resulta[,"x"]) * resulta[,"l(x)b(x)"] for(i in 1:(nclass-1)) { vr[i]= e1[i] * sum(e2[(i+1):nclass]) } cat("\n Valor Reprodutivo \n\t", paste("clas.etaria", 1:nclass, "=", round(vr, 4), "\n\t"))
plot(resulta[,1],resulta[,4],type="l",lty=2,col="blue",xlab="idade(x)",ylab="sobrevivência l(x)")''\\
Sx=c(500,400,200,50,0) bx=c(0,2,3,1,0) tab.vida(Sx,bx)
—-