Exercício V - Tabelas de Vida

Objetivos:

Montar uma tabela de vida para a população de uma espécie que contenha as seguintes informações:

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)
if (length(Sx)!=length(bx)) 
 {
 stop("Erro !! Sx e bx têm comprimentos diferentes")
 }
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")
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)

—-