====== 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
}