Índice
- O Curso R
-
- Tutoriais
-
- Apostila
-
- 6. Testes de Hipótese (em preparação!)
- Exercícios
-
- Material de Apoio
-
- Área dos Alunos
-
- Cursos Anteriores
-
IBUSP
Outras Insitutições
Linques
Visitantes
Outras Insitutições
Doutoranda em Oceanografia (Concentração: Oceanografia Biológica), Instituto Oceanográfico - USP
O título da minha tese é: “Conectividade da raia-viola Pseudobatos percellens (Walbaum, 1792) no arquipélago dos Alcatrazes: Modelagem da dinâmica espaço-temporal”, orientada pela Professora June Ferraz Dias.
e mail: thamykarlovic@usp.br
Reprodução de Peixes
Contextualização:
Conhecer o período de desova dos peixes permite inferências a cerca dos aspectos biológicos e dos processos ecológicos do táxon. Tais informações são essenciais nas tomadas de decisão tanto para o manejo de conservação das espécies quanto para sua exploração como recurso alimentar. Dentre as metodologias existentes, a classificação macroscópica das gônadas (principalmente dos ovários) e a avaliação dos índices gonadais e dos fatores de condição, correspondem ás técnicas de maior acessibilidade e praticidade, sendo recorrente a utilização na análise inicial dos dados. Normalmente, os resultados obtidos pela variação dos índices/fatores e das frequências dos estágios de maturidade, são contrapostos, fornecendo perspectivas quanto ao momento de desova da espécie durante o intervalo de tempo estudado. Por exemplo, valores elevados da relação gonadossomática (RGS) são um reflexo do aumento de peso e tamanho dos ovários devido ao processo de maturação ovocitária. O valor de pico desta relação seguido de queda corresponde á perda de peso da gônada pela liberação dos ovócitos, sendo, portanto, um indicador do seu estado funcional. Por sua vez, a maior frequência de espécimes classificados como maduros (estágio C) durante o período de brusca variação da RGS aumentam a probabilidade de acerto quanto á identificação do(s) momento(s) de desova. Logo, a ocorrência deste padrão mais de uma vez em um ciclo reprodutivo, pode indicar diferentes eventos de desova.
Descrição:
Com base nas informações fornecidas, têm-se como objetivo desenvolver uma função que identifique os prováveis momentos de desova. A função irá tratar dados de quatro variáveis contínuas e três categóricas, para a obtenção dos seguintes indicadores quantitativos da maturidade gonadal em peixes:
Entrada: rep.fish(LT, WT, WG, WB, sex, period, stages)
Os valores ausentes serão preenchidos por NA.
*Utilizado o estágio macroscópico de maturidade gonadal proposto por Vazzoler (1982).
Verificação dos parâmetros:
Pseudo-código:
Onde β é o coeficiente coef.b estimado pelo modelo de regressão não linear (passo 3)
Obs: para machos e fêmeas, RGS, e apenas para fêmeas, Ig e RGS 2.
Saídas:
Referências:
FÁVERO, L. P.; BELFIORE, P. Manual de análise de dados: Estatística e Modelagem Multivariada com Excel, SPSS e Stata. Rio de Janeiro: Elsevier, 2007.
FROESE, R. Cube law, condiction fator and weight-length relationships: history, meta-analysis and recommendations. J. Appl. Ichthyol, p. 241-253. 2006
HELFMAN, G. S.; COLLETTE, B. B.; FACEY, D. E.; BOWEN, B. W. The Diversity of Fishes: Biology, Evolution and Ecology. John Wiley & Sons, LTD. 2009. 2ºed.
VAZZOLER, A. E. A. de M. Manual de métodos para estudos biológicos de populações de peixes. Reprodução e crescimento. Brasília: CNPq, 1981. 108 p.
VAZZOLER, A. E. A. de M. Biologia da reprodução de peixes teleósteos: Teoria e prática. Maringá: EDUEM, 1996. 169 p.
Descrição:
O acervo da Coleção Biológica Professor Edmundo Nonato (ColBIO) do Instituto Oceanográfico-USP abriga atualmente mais de sete décadas de amostras biológicas referentes ao plâncton, nécton e bentos, da costa brasileira e da Antártica. A informatização dos dados irá otimizar tanto o gerenciamento físico das amostras quanto, o processamento das informações a elas associadas (variáveis abióticas e dados dos cruzeiros oceanográficos). Contudo, a enorme quantidade de dados a serem armazenados e organizados está constantemente sujeitos a falhas relacionadas a erros de digitação, problemas de formatação e de configuração das planilhas, comprometendo assim a sua qualidade. Desta forma, a função irá tratar 13 das 72 colunas de informação existentes no banco de dados. A atribuição da função ocorrerá somente a estes dados devido a discrepante recorrência de erros, encontrados durante o processo manual de revisão. Além disso, a função irá gerar gráficos exploratórios da frequência de registro dos grupos taxonômicos identificados para todo o banco de dados já informatizado, frequência de registro do menor grupo taxonômico por local e ano de coleta e por cruzeiro oceanográfico.
Entrada: col.bio(dados, state (opcional), year (opcional), project (opcional))
Verificação da entrada:
Pseudo-código:
Saídas:
Oi Thamíris!
Suas duas propostas são interessantes mas ainda um pouco simples. A proposta B é simples demais, e não envolve nenhum desafio de programação interessante, nem tem um apelo mais geral.
A proposta A tem mais futuro, mas ainda está genérica demais, parecendo um “script que eu preciso” disfarçado de função. Talvez tenha algum problema mais específico dentro desse assunto que seja mais interessante. Eu pensei talvez numa função que tente identificar o momento das desovas, ou quantas desovas ocorreram numa amostra. Isso seria legal pra vc poder comparar duas amostras, por exemplo. Que tal?
Me escreva no email quando responder aqui.
— Diogo Melo 2018/05/10
Olá Diogo, muito obrigada pelas considerações. Gostei muito das suas críticas! Construí uma linha de raciocínio confrontando os valores estimados pelos índices que propus com os estágios macroscópicos de maturidade gonadal (outro método para se obter informações sobre o ciclo reprodutivo). Poderíamos agendar uma reunião? Ficaria mais fácil de explicar minha ideia e poder dar continuidade ao desenvolvimento do trabalho. Se você preferir, posso enviar a proposta reformulada para o seu e mail. Mais uma vez, muito obrigada!
Arquivo da função rep.fish: rep1.fish.r
Arquivo do help: help_rep.fish.r
Base de dados para o help:sp.teste.csv
### Função rep.fish ### # Construindo a função rep.fish<-function(specie, LT, WT, WG, WB, sex, period, stages) { if(class(specie)!= "character") # Verifica se o argumento "specie" é um string de letras { stop("Verifique seus dados! specie deve ser o nome de uma espécie") # Se não, a função é interrompida e uma menssagem de erro fornecida ao usuário } if(class(LT)!= "integer" & class(LT)!= "numeric" | any(LT<=0)) # Verifica se o argumento "LT" está em mm, cm ou metros e se há valores negativos { stop("Verifique seus dados! LT deve ser inteiro ou numérico e >0") # Se não, a função é interrompida e uma menssagem de erro fornecida ao usuário } if(class(WT)!= "numeric" | any(WT<=0)) #Verifica se o argumento "WT" está correto { stop("Verifique seus dados! WT deve ser numérico e >0") # Se não, a função é interrompida e uma menssagem de erro fornecida ao usuário } if(class(WG)!= "numeric" | any(WG < 0, na.rm = TRUE)) #Verifica se "WG" é numérico positivo e se há valores perdidos { stop("Verifique seus dados! WG deve ser numérico ou =NA") # Se não, a função é interrompida e uma menssagem de erro fornecida ao usuário } if(class(WB)!= "numeric" | any(WB<=0, na.rm = TRUE)) #Verifica se "WB" é numérico positivo e se há valores perdidos { stop("Verifique seus dados! WB deve ser numérico ou =NA") # Se não, a função é interrompida e uma menssagem de erro fornecida ao usuário } if(class(sex)!= "factor" | any(sex != "M" & sex != "F", na.rm = TRUE)) #Verifica se "sex" é um fator com duas categorias { stop("Verifique seus dados! sex = F ou M") # Se não, a função é interrompida e uma menssagem de erro fornecida ao usuário } if(class(period)!= "integer") # Verifica se "period" contem valores inteiros correspondentes á cada período de coleta { stop("Verifique seus dados! period deve conter períodos enumerados em ordem de coleta (ex. Jan= 1, Fev= 2... ou 2011= 1, 2012= 2)") } if(class(stages)!= "factor" | any(stages!="A" & stages!="B" & stages!="C" & stages!="D", na.rm = TRUE)) # Verifica se "stages" foi inserido corretamente { stop("Verifique seus dados! Eles têm que estar classificados em um dos seguintes estágios de maturidade gonadal: A, B, C ou D")# Se não, a função é interrompida e uma menssagem de erro fornecida ao usuário } # Criando o objeto fishes do tipo dataframe fishes<-data.frame(specie, LT, WT, WG, WB, sex, period, stages) # Cria um dataframe com as entradas da função # Obtendo a relação peso x comprimento e guardando os valores não logaritimizados dos coeficientes estimados relation<-lm(log(WT)~log(LT), data = fishes) # Obtem a relação WTxLT por meio de um modelo não linear coef.a<-exp(summary(relation)$coefficients[1, 1]) # Guarda o valor estimado não transformado de alfa no objeto coef.a coef.b<-summary(relation)$coefficients[2, 1] # Guarda o valor estimado de beta no objeto coef.b # Preparando espaço gráfico x11() # Abrir um dispositivo de tela par(mfrow= c (3,3), bty="l", tcl=-0.2) # Dividir o espaço gráfico em 3 colunas plot(WT~LT, data=fishes, xlab="Total length", ylab="Total weight", cex.lab=1.2) # Plota a relação entre peso total(WT) e comprimento total(LT) curve(( coef.a*(x^coef.b)) , from = min(fishes$LT) , to=max(fishes$LT) , add=TRUE, lwd=1.5, col="red") # Insereve a curva estimada da regressão não linear # Calculando RGS1 gonado.relation1<-c((fishes$WG/fishes$WT)*100) # Obtem a RGS1 para cada espécime fishes$RGS1<-NA # Cria uma coluna para os valores calculados de RGS1 no dataframe fishes fishes$RGS1<-gonado.relation1 # Insere os valores calculados da RGS1 no dataframe fishes # Obtendo as medias de posição e dispersão por sexo mean1<-aggregate(fishes$RGS1, by=list(fishes$sex, fishes$period), mean, na.rm=TRUE)# Calcula os valores médios de RGS1 por período para cada sexo sd1<-aggregate(fishes$RGS1, by=list(fishes$sex, fishes$period), sd, na.rm=TRUE )# Calcula o desvio padrão dos valores de RGS1 por período para cada sexo sd1<-c(sd1$x)# Guarda somente os valores calculados de desvio padrão no objeto sd1 se1<-c(sd1/sqrt(sum(!is.na(fishes$RGS1))))# Calcula os erros padrão dos valores médios de RGS1 por período e para cada sexo # Calculando a amplitude de variação do erro se.sup<-mean1$x+se1# Calcula o valor máximo que os valores de RGS1 podem ter se.inf<-mean1$x-se1# Calcula o valor mínimo que os valores de RGS1 podem ter # Obtendo dataframes por sexo mean1[ ,4:7]<-NA # Cria colunas no objeto mean1 para inserir os valores dos parâmetros calculados mean1[ ,4]<-sd1 # Insere os valores calculados do desvio padrão mean1[ ,5]<-se1 # Insere os valores calculados do erro padrão mean1[ ,6]<-se.sup # Insere os valores máximos da RGS1 mean1[ ,7]<-se.inf # Insere os valores mínimos da RGS1 measures.f<-mean1[mean1$Group.1=="F",]# Obtem de mean1 apenas os valores calculados para fêmeas measures.m<-mean1[mean1$Group.1=="M",]# Obtem de mean1 apenas os valores calculados para machos # Gráficos de RGS1 plot(measures.f$Group.2, measures.f$x, xlab="Periods", ylab="RGS1 - femeales", cex.lab=1.2, pch=16)# Plota os valores médios de RGS1 das fêmeas por períodos axis(side=1, at=measures.f$Group.2)# Desenha no eixo x as marcações para todos os períodos arrows(x0=measures.f$Group.2,y0=measures.f$V6, y1=measures.f$V7, code=3, angle=90, length=0.05)# Desenha as barras dos erros padrão plot(measures.m$Group.2, measures.m$x, xlab="Periods", ylab="RGS1 - males", cex.lab=1.2, pch=16)# Plota os valores médios de RGS1 dos machos por períodos axis(side=1, at=measures.m$Group.2)# Desenha no eixo x as marcações para todos os períodos arrows(x0=measures.m$Group.2,y0=measures.m$V6, y1=measures.m$V7, code=3, angle=90, length=0.05)# Desenha as barras dos erros padrão # Obtendo a variação das médias var1 <- diff(mean1$x)# Obtem a variação dos valores médios de RGS1 # Calculando RGS2 fishes.f<-fishes[fishes$sex=="F",] # Filtra os valores do dataframe fishes para fêmeas e os armazena no objeto fishes.f gonado.relation2<-c((fishes.f$WG/fishes.f$WB)*100)# Calcula a RGS2 para cada fêmea fishes.f$RGS2<-NA # Cria uma coluna para os valores calculados de RGS2 no dataframe fishes.f fishes.f$RGS2<-gonado.relation2# Insere os valores calculados da RGS2 no dataframe fishes.f # Obtendo as medias de posição e dispersão mean2<-aggregate(fishes.f$RGS2, by=list(fishes.f$period), mean, na.rm=TRUE)# Calcula os valores médios de RGS2 por período sd2<-aggregate(fishes.f$RGS2, by=list(fishes.f$period), sd, na.rm=TRUE)# Calcula o desvio padrão dos valores de RGS2 por período sd2<-c(sd2$x)# Guarda somente os valores calculados de desvio padrão no objeto sd2 se2<-c(sd2/sqrt(sum(!is.na(fishes.f$RGS2))))# Calcula os erros padrão dos valores médios de RGS2 por período # Calculando a amplitude de variação do erro se.sup2<-mean2$x+se2# Calcula o valor máximo que os valores de RGS2 podem ter se.inf2<-mean2$x-se2# Calcula o valor mínimo que os valores de RGS2 podem ter # Obtendo dataframe mean2[ ,3:6]<-NA # Cria colunas no objeto mean2 para inserir os valores dos parâmetros calculados mean2[ ,3]<-sd2 # Insere os valores calculados do desvio padrão mean2[ ,4]<-se2 # Insere os valores calculados do erro padrão mean2[ ,5]<-se.sup2 # Insere os valores máximos da RGS2 mean2[ ,6]<-se.inf2 # Insere os valores mínimos da RGS2 # Gráfico de RGS2 plot(mean2$Group.1, mean2$x, xlab="Periods", ylab="RGS2", cex.lab=1.2, pch=16)# Plota os valores médios de RGS2 por períodos axis(side=1, at=mean2$Group.1)# Desenha no eixo x as marcações para todos os períodos arrows(x0=mean2$Group.1,y0=mean2$V5, y1=mean2$V6, code=3, angle=90, length=0.05)# Desenha as barras dos erros padrão # Obtendo a variação das médias var2 <- diff(mean2$x)# Obtem a variação dos valores médios de RGS2 # Calculando IG gonad.index<-c(fishes.f$WG/(fishes.f$LT^coef.b))# Calcula o IG para cada fêmea fishes.f$IG<-NA # Cria uma coluna para os valores calculados de IG no dataframe fishes.f fishes.f$IG<-gonad.index # Insere os valores calculados de IG no dataframe fishes.f # Obtendo as medias de posição e dispersão mean3<-aggregate(fishes.f$IG, by=list(fishes.f$period), mean, na.rm=TRUE)# Calcula os valores médios de IG por período sd3<-aggregate(fishes.f$IG, by=list(fishes.f$period), sd, na.rm=TRUE) # Calcula o desvio padrão dos valores de IG por período sd3<-c(sd3$x)# Guarda somente os valores calculados de desvio padrão no objeto sd3 se3<-c(sd3/sqrt(sum(!is.na(fishes.f$IG))))# Calcula os erros padrão dos valores médios de IG por período # Calculando a amplitude de variação do erro se.sup3<-mean3$x+se3# Calcula o valor máximo que os valores de IG podem ter se.inf3<-mean3$x-se3# Calcula o valor mínimo que os valores de IG podem ter # Obtendo dataframe mean3[ ,3:6]<-NA # Cria colunas no objeto mean3 para inserir os valores dos parâmetros calculados mean3[ ,3]<-sd3# Insere os valores calculados do desvio padrão mean3[ ,4]<-se3# Insere os valores calculados do erro padrão mean3[ ,5]<-se.sup3# Insere os valores máximos da IG mean3[ ,6]<-se.inf3# Insere os valores mínimos da IG # Gráfico de IG plot(mean3$Group.1, mean3$x, xlab="Periods", ylab="IG", cex.lab=1.2, pch=16)# Plota os valores médios de IG por períodos axis(side=1, at=mean3$Group.1)# Desenha no eixo x as marcações para todos os períodos arrows(x0=mean3$Group.1,y0=mean3$V5, y1=mean3$V6, code=3, angle=90, length=0.05) # Desenha as barras dos erros padrão # Obtendo a variação das médias var3 <- diff(mean3$x)# Obtem a variação dos valores médios do IG #Obtendo a freq. relativa de C freq.tab.f <- table(fishes$stages[fishes$sex=="F"], fishes$period[fishes$sex=="F"]) freq.tab.f <- rbind(freq.tab.f, total = colSums(freq.tab.f)) freq.t.f <- freq.tab.f[3,]/freq.tab.f[5,] freq.v.f <- na.omit(diff(freq.t.f)) freq.tab.m <- table(fishes$stages[fishes$sex=="M"], fishes$period[fishes$sex=="M"]) freq.tab.m <- rbind(freq.tab.m, total = colSums(freq.tab.m)) freq.t.m <- freq.tab.m[3,]/freq.tab.m[5,] freq.v.m <- na.omit(diff(freq.t.m)) #Gráficos de frequências barplot(freq.t.f, xlab = "Periods", ylab = "C Stage Female Frequency", cex.lab=1.2, axis.lty = fishes$period)# Plota o gráfico das frequências do estágio C para fêmeas barplot(freq.t.m, xlab = "Periods", ylab = "C Stage Male Frequency", cex.lab=1.2, axis.lty = fishes$period)# Plota o gráfico das frequências do estágio C para machos #Ajuste das variações de frequência freq.a.f <- array(freq.v.f + abs(min(freq.v.f)) + 0.0000001) freq.a.m <- array(freq.v.m + abs(min(freq.v.m)) + 0.0000001) #Teste t (com o ajuste anterior, a maior queda de frequência é 0) teste.t.f <- t.test(freq.a.f) teste.t.m <- t.test(freq.a.m) #Modelo de regressão lm(RGS2 ~ freq.t$female) #Verifica se as frequências relativas dos grupos de indivíduos #em estágio de maturidade C explicam os níveis de RGS obtidos em cada período reg.rgs2 <- lm(mean2$x ~ freq.t.f) # Obtem o modelo de regressão entre os valores médios de RGS2 e #Cálculo do Fator S por PCA library("stats", lib.loc="C:/Program Files/R/R-3.4.4/library") #Carrega o pacote "stats" pca.data <- data.frame(var2, var3, freq.v.f) fishes.pca <- prcomp(pca.data, scale = TRUE)# Utiliza a função prcomp do pacote stats. #Referência: R Core Team and contributors worldwide. The R Stats Package. #Disponível em: <https://stat.ethz.ch/R-manual/R-devel/library/stats/html/stats-package.html>. plot(fishes.pca, type = "l", main = NULL) pca.values <-summary(fishes.pca) #Obtendo o Fator S baseado nas proporções de variância e plotando fator.s = var2 * pca.values$importance[2,1] + var3 * pca.values$importance[2,2] + freq.v.f * pca.values$importance[2,3] # Localizando picos quedas = fator.s quedas[quedas >= 0] <- NA barplot(fator.s, xlab = "Periods", ylab = "S Factor variation") points(quedas, pch = 16, col = "Red")# Sinaliza em vermelho os prováveis momentos de desova #Output de informações print(summary(relation)) # Solta o output do modelo não linear lm(log(WT)~log(LT)) print(summary(reg.rgs2)) # Solta o output o modelo de regressão lm(RGS2 ~ freq.t$female) print(teste.t.f) # Solta o output do teste de t entre as frequências do estágio C print(fator.s) # Fornece os valores estimados pela PCA referentes ao fator S }
rep.fish package:unknown R Documentation FUNÇÃO PARA VERIFICAR O PERÍODO DE DESOVA DE PEIXES Description: Função para identificar os prováveis momentos de desova de peixes através da varição de indicadores quantitativos (RGS2 e IG) e qualitativos (escala macacroscópica) da maturidade gonadal. A função fornce o score S e gráficos contendo a relação peso x comprimento com curva de tendência da população, as médias e erros padrão dos indicadores, a frequência relativa do estágio C, ambos para cada sexo e período coletado. Usage: rep.fish(specie, LT, WT, WG, WB, sex, period, stages) Arguments: specie: Um vetor da classe "character" contendo o nome da espécie cujos dados serão análisados. LT: Um vetor da classe "integer" ou "numeric" contendo os valores de tamanho corpóreo total (em mm, cm ou m), de cada espécime coletado. Os valores devem ser positivos e maiores que zero. WT: Um vetor da classe "numeric" contendo os valores de peso total (em g), de cada espécime coletado. Os valores devem ser positivos e maiores que zero. WG: Um vetor da classe "numeric" contendo os valores de peso da gonada (em g), de cada espécime coletado. Os valores devem ser positivos ou iguais a zero. WB: Um vetor da classe "numeric" contendo os valores de peso corpóreo (em g): WT-WG. Os valores devem ser positivos e maiores que zero. sex: Um vetor da classe "factor" contendo o sexo dos espécimes. Pode ter dois níveis: "F" ou "M". period: Um vetor da classe "integer" contendo os período enumerados. Ex: meses(Janeiro, Fevereiro, Março, ...) = (1, 2, 3, ...) stages: Um vetor da classe "factor" contendo o estágio de maturidade em que a gônada de cada espécime foi classifcada. Pode ter quatro níveis: "A", "B", "C", ou "D". Details: Para a entrada WG: Gônadas com pouco peso (valores próximos de zero), devem ter valor de WG correspondente á 0. Gônadas que não foram pesadas correspondem á NA. Para a entrada sex: Espécimes com o sexo não identificado ou que a gônada não foi localizada, devem corresponder á NA. Para a entrada stages: Fêmeas consideradas hidratadas, devem ser classificadas no estágio "C". Gônadas que não tiveram seu estágio de maturidade definido devem corresponder á NA.Para maiores informações ver Vazzoler (1981). Value: Output do modelo não linear da relação WTxLT. Output do modelo de regressão lm(RGS2 ~ freq.t$female). Output do teste de t entre as frequências do estágio C. Valor estimado do Fator S para as variações entre cada período. Scatterplot da relação WTxLT com a linha de tendência da regressão estimada. Gráficos dos índices calculados (RGS1, RGS2 e Ig) e os erros em relação à média para cada período coletado. Gráfico mostrando a frequência relativa do estágio de maturidade C por sexos para cada período. Gráfico de explicação da variância da PCA. Gráfico da variação do Fator S com prováveis períodos de desova sinalizados por pontos vermelhos. Warning: Se algum dos argumentos estiver incorreto, a função não será executada. Caso algum valor de erro padrão para as RGSs e/ou para o IG não possa ser calculado devido á um N insuficiente,a função retornará zero. Neste caso, o(s) respectivo(s) valor(es) de erro não será(ão) plotado(s) no gráfico e uma mensagem é de erro fornecida. Isso não impedirá a execução da função e não compromete os resultados. Author(s): Thamíris Christina Karlovic de Abreu e mail: thamycka@gmail.com References: FÁVERO, L. P.; BELFIORE, P. Manual de análise de dados: Estatística e Modelagem Multivariada com Excel, SPSS e Stata. Rio de Janeiro: Elsevier, 2007. FROESE, R. Cube law, condiction fator and weight-length relationships: history, meta-analysis and recommendations. J. Appl. Ichthyol, p. 241-253. 2006. HELFMAN, G. S.; COLLETTE, B. B.; FACEY, D. E.; BOWEN, B. W. The Diversity of Fishes: Biology, Evolution and Ecology. John Wiley & Sons, LTD. 2009. 2ºed. VAZZOLER, A. E. A. de M. Manual de métodos para estudos biológicos de populações de peixes. Reprodução e crescimento. Brasília: CNPq, 1981. 108 p. VAZZOLER, A. E. A. de M. Biologia da reprodução de peixes teleósteos: Teoria e prática. Maringá: EDUEM, 1996. 169 p. R Core Team and contributors worldwide. The R Stats Package. Disponível em: <https://stat.ethz.ch/R-manual/R-devel/library/stats/html/stats-package.html>. Examples: Baixe a base de dados. teste<-read.table("sp.teste.csv", header = TRUE, sep = ";", dec=".") especie<-(as.character(teste$specie)) c.t<-c(teste$LT) p.t<-c(teste$WT) p.g<-c(teste$WG) p.b<-c(teste$WB) s<-(teste$sex) maturity<-(teste$EM) time<-c(teste$period) rep.fish(especie, c.t, p.t, p.g, p.b, s, time, maturity)