Traduções desta página:

Ferramentas do usuário

Ferramentas do site


05_curso_antigo:r2016:alunos:trabalho_final:aricci:start

Amanda Ricci Rodrigues

wiki.jpg :-)

Aluna de doutorado, Instituto Oceanográfico da USP

exec

Proposta de Trabalho Final

Comentários Vitor Rios

Amanda, suas propostas estão confusas, mas pelo que entendi suas duas propostas se resumem a cálculos de índices, sem desafio. Minha sugestão seria pensar em um plano C, ou elaborar melhor suas propostas vrios81@gmail.com

Minha sugestão é que aprimore a proposta A de forma a analisar dados de mais de uma espécie ou população. Acho que a confusão notada pelo Vitor se resolve se descrever os parâmetros de entrada da função e os objetos de saída. Se incorporar o calculo para várias populações (ou espécies) acho que está de bom tamanho. — Alexandre Adalardo de Oliveira 2016/04/28 18:24

Resposta Amanda R

Prezados Vitor e Alexandre, obrigada pelo retorno e sugestões. Aprimorei a proposta A. Vejam, por favor, se está Ok!

Comentários Vitor Rios

Amanda, acho que sua proposta A ficou melhor agora, pode prosseguir com ela vrios81@gmail.com

Proposta A

O conhecimento da biologia, ecologia e dinâmica de populações das espécies, em particular daquelas com maior interesse comercial, é essencial para existência de um sistema de conservação e gestão racional desses mesmos recursos. Estes estudos revelam e avaliam aspectos importantes das populações, tais como, reprodução, tipo de crescimento, mortalidade, entre outros, que podem funcionar como instrumentos na planificação e gestão de ecossistemas.

Assim a proposta visa elaborar uma função que calcule os principais parâmetros de crescimento populacional para 2 ou mais espécies (o usuário poderá escolher).

Dados de entrada: três variáveis quantitativas, x=peso, y=comprimento e z=idade dos indivíduos de cada espécie.

Saída: a) uma tabela com o resultado de cada parâmetro populacional calculado para cada espécie. b) teste t para testar o tipo de crescimento (alométrico ou isométrico) de cada espécie. c) gráfico de relação x~y, um para cada espécie.

Parâmetros que serão calculados na função: - L∞ = comprimento assintótico -k = taxa de crescimento -índice de performance de crescimento (Ø´) - Ø´ = log(k)+2*log(L∞), -A longevidade (A0,95) - A0,95 = t0+(2,996/k) -Relação peso-comprimento pela expressão Pt = a*Cpb - O tipo de crescimento foi verificado através do teste-t onde: H0: b = 3 (crescimento isométrico) e H1: b ≠ 3 (crescimento alométrico) (α = 0.05)

Página de ajuda/Help da Função

**dinapop**                           **package:nenhum**                  R Documentation

Lista o resultado para o cálculo de parâmetros populacionais para espécies de organismos aquáticos. 

Description:

 A função calcula parâmetros populacionais para dois conjuntos de dados distintos
 (duas espécies diferentes, sexos ou até dois locais diferentes de coleta). Os 
 cálculos dos parâmetros de comprimento assintótico (L∞),taxa de crescimento 
 (-k), índice de performance de crescimento (Ø´) e longevidade (A), são 
 realizados a partir de dados de idade, peso corpóreo e comprimento.  A função 
 fornece um gráfico da relação peso-comprimento dos organismos pela expressão 
 Pt = a*Cp¨b e aplica o teste-t testa para testar o tipo de crescimento, onde:
 H0: b = 3 (crescimento isométrico) e H1: b ≠ 3 (crescimento alométrico) (α = 
 0.05)


Uso:

  dinapop <- function(x)

Argumentos:

x: dataframe com quarto vetores. O primeiro vetor contendo caracteres 
relacionados aos dois conjuntos de dados a serem analisados (ID= espécies, sexos
ou locais), o segundo vetor contendo a idade (t), o terceiro contendo comprimento
total (Lt) dos organismos e o quarto contendo o peso total (Wt) dos organismos. 

Detales:

O índice de performance de crescimento (Ø´) foi estimado por Pauly e Munro 
(1984): Ø´ = log(k)+2*log(L∞), a longevidade (A) por Taylor (1958): A= t0+
(2,996/k). A relação peso-comprimento foi estimada pela expressão Wt = a*LTb, 
após ajuste logarítmico, sendo: Wt o peso total, Lt o comprimento padrão, a o 
intercepto da curva e b o coeficiente de alometria da relação peso-comprimento. 
O tipo de crescimento foi verificado através do teste-t onde: H0: b = 3 
(crescimento isométrico) e H1: b ≠ 3 (crescimento alométrico) (α = 0.05) (Zar 
1996).


Autora:

Amanda Ricci Rodrigues
(ariccir@gmail.com)

Referencias:

PAULY, D. & MUNRO, J.L. 1984. Once more on the comparison of growth in fish and 
invertebrates. ICLARM Fishbyte Newsletter of the Network of Tropical Fisheries 
Scientists 2(1):72-94.

TAYLOR, C.C. 1958. Cod growth and temperature. J. Cons. Int. Explor. Mer. 23:
366-370.

SPARRE, P. & VENEMA, S.C. 1997. Introdução à avaliação de mananciais de peixes 
tropicais. Parte 1: Manual. FAO, Roma.

ZAR, J.H. 1996. Biostatistical Analysis. Prentice-Hall, London, England.



Exemplo:
ID <- c(rep("sp1", 7), rep("sp2", 7)) 

t<-c(1:7,1:7)

Lt<- c(66.81, 93.81, 124.48, 155.05, 184.6, 191.37, 184.2, 104, 171.04, 219.5, 
       265.78, 296.8, 327.99, 353.56)

Wt<- c(8.09, 21.71, 49.42, 93.60, 155.44, 172.60, 154.46, 28.99,  123.70, 256.06,
       447.36, 617.27, 826.11, 1028.30) 

x <- data.frame(ID=ID, t=t, Lt=Lt, Wt=Wt) ##criar data frame dos dados

dinapop <- function (x)

Código da Função

dinapop <- function(x)   ## cria a função dinapop##

{

  nls.1 <- nls(Lt~Linf*(1-exp(-k*(t-t0))),start=list(Linf=500,k=0.2,t0=0),data=subset(x,ID=="sp1"))# ajuste do   
                                                                                                             modelo 
  summary(nls.1)

  coef(nls.1) # ver coeficientes

  Linfsp1 <-coef(nls.1)[1] # separa o coeficiente da posição 1 com um nome especifico (L infinito)

  ksp1<-coef(nls.1)[2] # separa o coeficiente da posição 2 com um nome específico (taxa de crescimento -k)

  t0sp1<-coef(nls.1)[3] # separa o coeficiente da posição 3 com um nome específico (tempo 0)


  nls.2 <- nls(Lt~Linf*(1-exp(-k*(t-t0))),start=list(Linf=500,k=0.2,t0=0), data=subset(x, ID=="sp2"))

  summary(nls.2)

  coef(nls.2)
  Linfsp2 <-coef(nls.2)[1] # separa o coeficiente da posição 1 com um nome específico (L infinito)

  ksp2<-coef(nls.2)[2] # separa o coeficiente da posição 2 com um nome específico (taxa de crescimento -K)

  t0sp2<-coef(nls.2)[3] # separa o coeficiente da posição 3 com um nome específico (tempo 0)

  ipc1<- log(ksp1)+2*(log(Linfsp1))     # calcula o índice de performance de crescimento para a sp1

  ipc2<- log(ksp2)+2*(log(Linfsp2))     # calcula o índice de performance de crescimento para a sp2

  A1 <- t0sp1+(2.996/ksp1) # calcula a longevidade (A 0,95) para a sp1

  A2 <- t0sp2+(2.996/ksp2) # calcula a longevidade (A 0,95) para a sp2

  summary(x) 
 
  lm.sp1 <- lm(log(Wt)~log(Lt),subset=ID=="sp1")  # ajuste logarítmico para a sp1 (ajuste linear)

  summary(lm.sp1) # a transformação logarítmica das variáveis Wt e Lt é aplicadas para a linearização na relação. 

  confint(lm.sp1) 
  interceptosp1 <-coef(lm.sp1)[1]

  logsp1 <-coef(lm.sp1)[2]

  lm.sp2 <- lm(log(Wt)~log(Lt),subset=ID=="sp2") ## ajuste logarítmico a sp2 (ajuste linear)
  summary(lm.sp2) 

  confint(lm.sp2) 

  interceptosp2 <-coef(lm.sp2)[1] # separa o coeficiente da posição 1 com um nome específico

  logsp2 <-coef(lm.sp2)[2] # separa o coeficiente da posição 2 com um nome específico
 
  tsp1<-(coef(summary(lm.sp1))[2,1]-3)/coef(summary(lm.sp1))[2,2] # verifica isometria pelo teste t
  dt(tsp1,nrow(df)-2) 

  tsp2<-(coef(summary(lm.sp2))[2,1]-3)/coef(summary(lm.sp2))[2,2] # verifica isometria pelo teste t
  dt(tsp2,nrow(df)-2) 

  if(tsp1>3) ## teste lógico para o valor de isometria maior que 3
    {
    cat("sp1 crescimento isométrico") ## se for maior, esta mensagem de aviso será gerada, 
    }

  if(tsp1<3) ## teste lógico para o valor de alometria menor que 3
    {
    cat("sp1 crescimento alométrico") ## se for menor, esta mensagem de aviso será gerada, 
    }

 
  if(tsp2>3) ## teste lógico para o valor de isometria maior que 3
    {
    cat("sp2 crescimento isométrico") ## se for maior, esta mensagem de aviso será gerada, 
    }

  if(tsp2<3) ## teste lógico para o valor de alometria menor que 3

    {
    cat("sp2 crescimento alométrico") ## se for menor, esta mensagem de aviso será gerada
    }
     ## cria uma lista para guardar todos osresultados gerados com a função
     
  resulta <- list(Linfsp1=Linfsp1,Linfsp2=Linfsp2,ksp1=ksp1,ksp2=ksp2, ipc1=ipc1, ipc2=ipc2, A1=A1, A2=A2) 
 
####Grafico####

  grafico <-par(mfrow=c(2,2))
  plot(Wt~Lt,subset=ID=="sp1") # visualiza dados de peso e comprimento sp1
  plot(Wt~Lt,subset=ID=="sp2") # visualiza dados de peso e comprimento sp2
  par(mar=c(5,5,4,2))
  plot(Wt~Lt,col="gray",xlab="Lt (mm)",ylab="Wt (g)",subset=ID=="sp1")  #gráfico relação peso-comprimento para sp1
  curve(exp(interceptosp1)*x^logsp1, col="red",add=T) # plotar ajuste da curva para sp1
  par(mar=c(5,5,4,2))
  plot(Wt~Lt,col="gray",xlab="Lt (mm)",ylab="Wt (g)",subset=ID=="sp2")#gráfico relação peso-comprimento para sp2
  curve(exp(interceptosp2)*x^logsp2, col="blue",add=T)# plotar ajuste da curva para sp2

  return(resulta) ## retorna todos os resultados gerados com a função
  return(grafico) ## retorna gráfico

}
05_curso_antigo/r2016/alunos/trabalho_final/aricci/start.txt · Última modificação: 2020/08/12 06:04 (edição externa)