====== Amanda Ricci Rodrigues====== {{:bie5782:01_curso_atual:alunos:trabalho_final:aricci:wiki.jpg?100|}} :-) Aluna de doutorado, Instituto Oceanográfico da USP [[.:exec]] =======Proposta de Trabalho Final========= 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. --- //[[aleadalardo@gmail.com|Alexandre Adalardo de Oliveira]] 2016/04/28 18:24// Prezados Vitor e Alexandre, obrigada pelo retorno e sugestões. Aprimorei a proposta A. Vejam, por favor, se está Ok! 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 }