\documentclass[a4paper, oneside, 10pt]{article}
\usepackage[english]{babel}
\usepackage[unicode]{hyperref}
\usepackage[utf8x]{inputenc}
\usepackage{listings}
\usepackage{graphicx}
\graphicspath{{media/}}
\date{\today}
\title{}
\author{}
\begin{document}



\section{\texorpdfstring{Gabriel Barros G. de Souza}{Gabriel Barros G de Souza}}
\label{sec:gabriel_barros_g_de_souza}


\\
\raggedleft\includegraphics[keepaspectratio=true,width=0.8\textwidth]{bie5782/01_curso_atual/alunos/trabalho_final/gabrielbbarros/co_pia_de_barros_15}

\\
Doutorando em Ecologia na \underline{Universidade Federal do Rio de Janeiro} (UFRJ), fazendo parte da equipe do \textbf{Laboratório de Biologia e Tecnologia Pesqueira (LBTP)}, sob coordenação e orientação do \textbf{Dr. Marcelo Vianna}. Meu projeto de pesquisa envolve o estudo da \emph{qualidade ecológica de estuários} utilizando \emph{peixes demersais} como modelos biológicos.
\\
\\

\href{http://lattes.cnpq.br/4012374701934609}{Currículo Lattes}
 \\
\href{mailto:gabrielbbarros@gmail.com}{gabrielbbarros@gmail.com}
\\
\\

\begin{center}
\line(1,0){250}
\end{center}



\subsection{\texorpdfstring{Meus Exercícios}{Meus Exercicios}}
\label{sec:meus_exercicios}


Página com meus exercícios resolvidos: 
\\
\\

\begin{center}
\line(1,0){250}
\end{center}



\subsection{\texorpdfstring{Proposta de Trabalho Final}{Proposta de Trabalho Final}}
\label{sec:proposta_de_trabalho_final}


\\

\subsubsection{\texorpdfstring{Plano A}{Plano A}}
\label{sec:plano_a}


Como plano principal, a função a ser criada servirá para calcular o Índice de Avaliação de Peixes Estuarinos (The Estuarine Fish Assessment Index - EFAI)\footnote{Cabral, H.N.; Fonseca, V.F.; Gamito, R.; Gonçalves, C.I.; Costa, J.L.; Erzini, K.; Gonçalves, J.; Martins, J.; Leite, L.; Andrade, J.P.; Ramos, S.; Bordalo, A.; Amorim, E.; Neto, J.M.; Marques, J.C.; Rebelo, J.E.; Silva, C.; Castro, N.; Almeida, P.R.; Domingos, I.; Gordo, L.S.; Costa, M.J. (2012) Ecological quality assessment of transitional waters based on fish assemblages in Portuguese estuaries: The Estuarine Fish Assessment Index (EFAI). Ecological Indicators, 19:144-153}. O EFAI inclui métricas sobre a estrutura e função da comunidade (estrutura trófica e padrões de uso de habitat), bem como espécies-chave para avaliar impactos específicos de atividades antrópicas. Esse é um dos índices multimétricos que utilizarei na minha tese, na qual tenho o intuito de avaliar a adequação de diferentes índices multimétricos para utilização em dados de peixes de estuários tropicais.

\paragraph{\texorpdfstring{Argumentos da Função}{Argumentos da Funao}}
\label{sec:argumentos_da_funao}


Para entrada da função, serão inseridos os seguintes argumentos:

\textbf{(i)} \underline{um objeto da classe data.frame} que contenha colunas com os locais de amostragem (pontos) e as métricas do índice (riqueza de espécies, \% de marinhos migrantes, \% de indivíduos de espécies residentes estuarinas, número de espécies residentes estuarinas, \% de indivíduos de espécies piscívoras, número de espécies piscívoras, espécies diádromas, espécies introduzidas, espécies sensíveis a distúrbio);

\textbf{(ii)} \underline{um argumento que indica a zona halina do corpo d'água}, uma vez que ambientes estuarinos podem ser muito distintos no tamanho e nas caraterísticas abióticas.

\paragraph{\texorpdfstring{Funcionamento e Saída da Função}{Funcionamento e Saida da Funao}}
\label{sec:funcionamento_e_saida_da_funao}


A função calculará os seguintes aspectos:

\textbf{(i)} \underline{os scores} dos pontos de amostragem, onde são somados os scores individuais de cada uma das métricas simples para se ter o score final

\textbf{(ii)} \underline{a qualidade ecológica} de cada ponto de amostragem, definido a partir de classes de scores pré-definidos

Como resultado, será possível observar quais pontos de amostragem tem qualidade ecológica entre alta e ruim (alta, boa, moderada, pobre e ruim)\href{http://www.sciencedirect.com/science/article/pii/S1470160X11002494}{Fonte}.

\\

\subsubsection{\texorpdfstring{Plano B}{Plano B}}
\label{sec:plano_b}


Como plano secundário, proponho criar uma função com o objetivo analisar o custo/benefício de métodos de amostragem\href{https://www.cals.ncsu.edu/course/zo501/Readings/How\%20You\%20Count\%20JAE.pdf}{Methods Research}. Essa análise é essencial para a escolha do método que apresenta melhor balanço entre precisão dos dados obtidos e custos da amostragem. Tal função será baseada no índice de custo/benefício criado na minha dissertação (\href{http://link.springer.com/article/10.1007\%2Fs10750-014-2033-z}{Analysis of Sampling Methods of Estuarine Benthic Macrofauna}), o qual se baseou na precisão, deixando de lado a acurácia. Tal índice foi aplicado para macrofauna bentônica estuarina, mas pode ser utilizado para outros grupos biológicos de diferentes ecossistemas.

\paragraph{\texorpdfstring{Argumentos da Função}{Argumentos da Funao}}
\label{sec:argumentos_da_funao2}


Para entrada da função, serão inseridos os seguintes argumentos:

\textbf{(i)} \underline{um objeto da classe data.frame} que contenha as unidades amostrais nas colunas e as espécies nas linhas, caso o método aborde o estudo de comunidades, \underline{ou um vetor numérico} que contenha abundância de indivíduos de determinada espécie para cada unidade amostral (estudos de populações);

\textbf{(ii)} \underline{um argumento que indica o valor do custo por unidade amostral};

\textbf{(iii)} \underline{um argumento que indica o valor dos custos adicionais};

\textbf{(iv)} \underline{um argumento lógico para exclusão de NA}.

\paragraph{\texorpdfstring{Funcionamento e Saída da Função}{Funcionamento e Saida da Funao}}
\label{sec:funcionamento_e_saida_da_funao2}


A função calculará os seguintes aspectos:

\textbf{(i)} \underline{a precisão (\emph{p})} das estimativas do número de indivíduos, a partir da seguinte fórmula:

\emph{p} = \emph{SE} / µ = (\emph{s} / \emph{√n}) / µ

no qual, \emph{SE} é o erro padrão estimado a partir do desvio padrão (\emph{s}) para determinado tamanho amostral (\emph{n}), e µ é a média amostral. Precisão está inversamente relacionada aos valores da razão utilizada, sendo maior quando SE é pequeno relativo à média e menor quando o valor da razão aumenta\footnote{Andrew, N.L. \& Mapstone, B.D. (1987) Sampling and the description of spatial pattern in marine ecology. Oceanography and Marine Biology - An Annual Review, 25:39-90}. Assim, o tratamento analisado com menor valor calculado fornece estimativas mais precisas.

\textbf{(ii)} \underline{o custo total (\emph{Ct})} de cada método, através da multiplicação do custo de cada unidade amostral pelo número total de unidades, sendo somado pelos custos adicionais:

\emph{Ct} = \emph{n} * \emph{Cu} + \emph{Ca}

no qual, \emph{n} é o número de pontos amostrados para cada procedimento, \emph{Cu} é o custo para cada unidade amostral (\emph{i.e.} tempo de amostragem, staff) e \emph{Ca} são os custos adicionais, assumidos como valor gasto (aquisição dos equipamentos).

\textbf{(iii)} \underline{a razão custo-benefício (\emph{CB})} dividindo-se o custo total pela precisão:

\emph{CB} = (\emph{Ct} / (1 - \emph{p})) / 1000

￼no qual, \emph{Ct} é o custo total e \emph{p} a precisão. Os valores serão divididos por 1000 para reduzir a escala do valor calculado. 

Como resultado, quanto menor o custo e maior a precisão, menor será o valor calculado e, conseqüentemente, melhor a razão custo-benefício do tratamento analisado.
\\

\subsubsection{\texorpdfstring{Comentários das Propostas Melina}{Comentarios das Propostas Melina}}
\label{sec:comentarios_das_propostas_melina}


em 28/abr/16

As duas propostas me parecem simples e relativamente fáceis de implementar. Na proposta A, faltou um pouco de informação de como você vai calcular o índice e a sua relação com os objetos de saída. Aliás, quais serão os objetos de saída? 
A proposta B parece igualmente razoável, também não deu pra sacar direito qual será o objeto de saída, mas está OK.
Como as duas propostas estão mais ou menos no mesmo nível, escolha a que mais te interessar e mãos à obra!

\subsubsection{\texorpdfstring{Respostas Gabriel}{Respostas Gabriel}}
\label{sec:respostas_gabriel}


Olá, Melina! Obrigado pelos comentários.
Vou ficar com a Proposta A, pois não existe códigos para esse índice (pelo menos não encontrei até o momento) e esse é apenas um dos vários índices que utilizarei e para os quais precisarei criar códigos no R durante a minha tese.
Respondendo a sua dúvida sobre essa proposta, o objeto de saída será o Score desse ponto de amostragem juntamente com a sua qualidade ecológica. Não descrevi detalhadamente a parte do cálculo do índice pq é bem densa, mas está tudo descrito no item 2.3 do artigo que citei no final\href{http://www.sciencedirect.com/science/article/pii/S1470160X11002494}{Fonte}. Basicamente, são definidos scores para cada uma das métricas simples e, por fim, esses scores são somados para se ter o score final que define a qualidade ecológica do local.
Ainda pretendo voltar para a proposta B no futuro.
Obrigado, mais uma vez.
Abç.

\begin{center}
\line(1,0){250}
\end{center}



\subsection{\texorpdfstring{Página de Ajuda}{Pagina de Ajuda}}
\label{sec:pagina_de_ajuda}
\lstset{frame=single}
\begin{lstlisting}

efai                package:none                R Documentation

Cálculo do Índice de Avaliação de Peixes Estuarinos (The Estuarine Fish Assessment Index - EFAI)

Description:

O EFAI inclui métricas sobre a estrutura e função da comunidade (estrutura trófica e padrões de uso de habitat),
bem como espécies-chave para avaliar impactos específicos de atividades antrópicas. São definidos scores para cada
uma das métricas simples e, por fim, esses scores são somados para se ter o score final que define a qualidade
ecológica do local.

Usage:

     efai(x, zona = TRUE)

Arguments:

x        Dataframe contendo 10 colunas: (i) os pontos de amostragem, (ii) riqueza de espécies, (iii) % de marinhos
         migrantes, (iv) % de indivíduos de espécies residentes estuarinas, (v) número de espécies residentes
         estuarinas, (vi) % de indivíduos de espécies piscívoras, (vii) número de espécies piscívoras, (viii)
         scores para espécies diádromas, (ix) scores para espécies introduzidas, (x) scores para espécies sensíveis
         a distúrbio. Caso os dados contemplem pontos em diferentes zonas halinas, uma última coluna deve ser
         inserida no dataframe contendo o valor da salinidade em cada ponto de amostragem.

zona     Valor lógico que indica se o data.frame contém dados de diferentes zonas halinas do corpo d'água, uma vez
         que ambientes estuarinos podem ser muito distintos no tamanho e nas caraterísticas abióticas. 

Details:

É necessário estruturar o dataframe corretamente antes de aplicar a função.

Exceto para riqueza de espécies, para a qual existem diferentes funções para calcula-la no R, as demais métricas
simples necessitam de literatura especializada para a caraterização trófica e de uso de habitat das espécies de
peixes.

A função não define os scores para as variáveis: espécies diádromas, espécies introduzidas e espécies sensíveis a
distúrbio. Essas variáveis foram subjetivamente caracterizadas por Cabral et al. (2012), de modo que as mesmas
precisam ser definidas e inseridas no dataframe previamente.

Value:

A função retorna um dataframe com 3 colunas: (i) pontos de amostragem, (ii) score final de cada ponto e, (iii)
qualidade ecológica (alta, boa, moderada, pobre e ruim).

Warning:

A função não é aplicável a matrizes usuais de abundância de espécies. Ocorrência de mensagem de erro se o primeiro
objeto não for um dataframe contendo as métricas especificadas.

Note:

Para grandes conjuntos de dados com série temporal, recomenda-se aplicar a função para cada período amostral, de
modo a permitir uma melhor visualização dos resultados. Posteriormente podem ser gerados gráficos comparativos
entre pontos de amostragem por período amostral.

Author(s):

Gabriel Barros G. de Souza
gabrielbbarros@gmail.com

References:

- Cabral, H.N.; Fonseca, V.F.; Gamito, R.; Gonçalves, C.I.; Costa, J.L.; Erzini, K.; Gonçalves, J.; Martins, J.;
Leite, L.; Andrade, J.P.; Ramos, S.; Bordalo, A.; Amorim, E.; Neto, J.M.; Marques, J.C.; Rebelo, J.E.; Silva, C.;
Castro, N.; Almeida, P.R.; Domingos, I.; Gordo, L.S.; Costa, M.J. (2012) Ecological quality assessment of
transitional waters based on fish assemblages in Portuguese estuaries: The Estuarine Fish Assessment Index (EFAI).
Ecological Indicators, 19:144-153
- Karr, J.R., Fausch, K.D., Angermeier, P.L., Yant, P.R., Schlosser, I.J. 1986. Assessment biological integrity in
running waters: a method and its rationale. Illinois Natu- ral, History Survey Special Publication 5, Champaign,
IL, USA.

See Also:

Pacotes que calculam algumas métricas simples para comunidades estuarinas e marinhas: 'mizer', 'BEQI2',
'fishmethods'.

Examples:

pontos <- c(1:10)
richness <- rep(seq(50,90,by=10),each=2)
mar.migr <- c(rep(c(1,5),each=3),7,2,1,1)
est.esp.1 <- c(rep(c(10,25),each=3),50,75,90,10)
est.esp.2 <- c(5,5,6,15,17,18,40,60,81,5)
p1 <- c(rep(c(80,55),each=3),20,10,2,80)
p2 <- c(40,40,38,31,36,36,16,8,2,40)
diad <- rep(1,length.out=10)
introd <- rep(1,length.out=10)
disturb <- c(rep(seq(1,5,by=2),each=3),1)
salin <- c(rep(seq(4,30,by=13),each=3),4)

dados <- data.frame(pontos,richness,mar.migr,est.esp.1,est.esp.2,p1,p2,diad,introd,disturb,salin) # diferentes
zonas halinas
efai(dados)

dados2 <- data.frame(pontos,richness,mar.migr,est.esp.1,est.esp.2,p1,p2,diad,introd,disturb) # sem zonas halinas
efai(dados2,zona=FALSE)

\end{lstlisting}



\subsection{\texorpdfstring{Código da Função}{Codigo da Funao}}
\label{sec:codigo_da_funao}
\lstset{frame=single}
\begin{lstlisting}

########## Função EFAI ##########

efai <- function (x, zona = TRUE) # atribui ao objeto 'efai' a classe 'function' com os argumentos x
{ # inicia o codigo da funcao
  if(is.data.frame(x) == F) # verifica se a classe do objeto ‘x' contem um data.frame
  {
    cat("\n ‘x' precisa ser um data.frame.\n") # pare a funcao se a condicao acima for atendida, retornando a mensagem de erro
  }
  sr <- rep(NA, length(x[,2])) # cria um objeto para incluir os dados de scores para Species Richness (SR)
  mm <- rep(NA, length(x[,3])) # cria um objeto para incluir os dados de scores para percentual de Marine Migrants (MM)
  es.1 <- rep(NA, length(x[,4])) # cria um objeto para incluir os dados de scores para percentual de Estuarine Species (ES)
  es.2 <- rep(NA, length(x[,5])) # cria um objeto para incluir os dados de scores para numero de Estuarine Species (ES)
  p1 <- rep(NA, length(x[,6])) # cria um objeto para incluir os dados de scores para percentual de Piscivore Species (P)
  p2 <- rep(NA, length(x[,6])) # cria um objeto para incluir os dados de scores para numero de Piscivore Species (P)
  if(zona == TRUE) # se o argumento zona for verdadeiro (default), os dados serão analisados considerando diferentes zonas halinas
  {
    for(j in 1:length(x[,11])) # criando ciclo para zonas oligohalinas
    if(x[j,11]<5) ## se os dados se referem a zonas oligohalinas
    {
    for(i in 1:length(x[,2])) # criando ciclo para valor de Species Richness (SR)
      {
        if(x[i,2]<=3) # se o valor de SR é menor ou igual a 3
        {
          sr[i] = 1 # atribuir o score 1
        }
        if(x[i,2]>=4 & x[i,2]<=8) # se o valor de SR está entre 4 e 8
        { 
          sr[i] = 3 # atribuir o score 3
        }
        if(x[i,2]>8) # se o valor de SR é maior que 8
        {
          sr[i] = 5 # atribuir o score 5
        }
      }
    for(i in 1:length(x[,3])) # criando ciclo para percentual de Marine Migrants (MM)
      {
        if(x[i,3]<=10) # se o percentual de MM é menor ou igual a 10%
        {
          mm[i] = 1 # atribuir o score 1
        }
        if(x[i,3]>10 & x[i,3]<50) # se o percentual de MM está entre 10-50%
        { 
          mm[i] = 3 # atribuir o score 3
        }
        if(x[i,3]>=50) # se o percentual de MM é maior ou igual a 50%
        {
          mm[i] = 5 # atribuir o score 5
        }
      }
    for(i in 1:length(x[,4])) # criando ciclo para percentual de Estuarine Species (ES)
      {
        if(x[i,4]<=10 || x[,4]>90) # se o percentual de ES é menor ou igual a 10% ou maior que 90%
        {
          es.1[i] = 1 # atribuir o score 1
        }
        if(x[i,4]>10 & x[i,4]<=30 || x[i,4]>=70 & x[i,4]<=90) # se o percentual de ES está entre 10-30% ou ou entre 70-90%
        { 
          es.1[i] = 3 # atribuir o score 3
        }
        if(x[i,4]>30 & x[i,4]<70) # se o percentual de ES está entre 30-70%
        {
          es.1[i] = 5 # atribuir o score 5
        }
      }
    for(i in 1:length(x[,6])) # criando ciclo para percentual de Piscivore Species (P)
      {
        if(x[i,6]<=10 || x[i,6]>90) # se o percentual de P é menor ou igual a 10% ou maior que 90%
        {
          p1[i] = 1 # atribuir o score 1
        }
        if(x[i,6]>10 & x[i,6]<=30 || x[i,6]>=70 & x[i,6]<=90) # se o percentual de ES está entre 10-30% ou ou entre 70-90%
        { 
          p1[i] = 3 # atribuir o score 3
        }
        if(x[i,6]>30 & x[i,6]<70) # se o percentual de ES está entre 30-70%
        {
          p1[i] = 5 # atribuir o score 5
        }
      }
    for(i in 1:length(x[,7])) # criando ciclo para número de Piscivore Species (P)
      {
        if(x[i,7]<=1) # se o número de P2 é menor ou igual a 1
        {
          p2[i] = 1 # atribuir o score 1
        }
        if(x[i,7]==2) # se o número de P2 é 2
        { 
          p2[i] = 3 # atribuir o score 3
        }
        if(x[i,7]>2) # se o número de P2 é maior que 2
        {
          p2[i] = 5 # atribuir o score 5
        }
      }
    }
    es.2 <- NULL # removendo esse vetor, pois não existem scores para o número de ES para zonas oligohalinas
    for(j in 1:length(x[,11]))  # criando ciclo para zonas mesohalinas
    if(x[j,11]>=5 & x[j,11]<=18) ## se os dados se referem a zonas mesohalinas
    {
      for(i in 1:length(x[,2])) # criando ciclo para valor de Species Richness (SR)
      {
        if(x[i,2]<=4) # se o valor de SR é menor ou igual a 4
        {
          sr[i] = 1 # atribuir o score 1
        }
        if(x[i,2]>=5 & x[i,2]<=10) # se o valor de SR está entre 5 e 10
        { 
          sr[i] = 3 # atribuir o score 3
        }
        if(x[i,2]>10) # se o valor de SR é maior que 10
        {
          sr[i] = 5 # atribuir o score 5
        }
      }
      for(i in 1:length(x[,3])) # criando ciclo para percentual de Marine Migrants (MM)
      {
        if(x[i,3]<=10) # se o percentual de MM é menor ou igual a 10%
        {
          mm[i] = 1 # atribuir o score 1
        }
        if(x[i,3]>10 & x[i,3]<50) # se o percentual de MM está entre 10-50%
        { 
          mm[i] = 3 # atribuir o score 3
        }
        if(x[i,3]>=50) # se o percentual de MM é maior ou igual a 50%
        {
          mm[i] = 5 # atribuir o score 5
        }
      }
      for(i in 1:length(x[,4])) # criando ciclo para percentual de Estuarine Species (ES)
      {
        if(x[i,4]<=10 || x[,4]>90) # se o percentual de ES é menor ou igual a 10% ou maior que 90%
        {
          es.1[i] = 1 # atribuir o score 1
        }
        if(x[i,4]>10 & x[i,4]<=30 || x[i,4]>=70 & x[i,4]<=90) # se o percentual de ES está entre 10-30% ou ou entre 70-90%
        { 
          es.1[i] = 3 # atribuir o score 3
        }
        if(x[i,4]>30 & x[i,4]<70) # se o percentual de ES está entre 30-70%
        {
          es.1[i] = 5 # atribuir o score 5
        }
      }
      for(i in 1:length(x[,5])) # criando ciclo para número de Estuarine Species (ES)
      {
        if(x[i,5]<=1) # se o número de ES2 é menor ou igual a 1
        {
          es.2[i] = 1 # atribuir o score 1
        }
        if(x[i,5]>=2 & x[i,5]<3) # se o número de ES2 está entre 2 e 3
        { 
          es.2[i] = 3 # atribuir o score 3
        }
        if(x[i,5]>3) # se o número de ES2 é maior que 3
        {
          es.2[i] = 5 # atribuir o score 5
        }
      }
      for(i in 1:length(x[,6])) # criando ciclo para percentual de Piscivore Species (P)
      {
        if(x[i,6]<=10 || x[i,6]>90) # se o percentual de P é menor ou igual a 10% ou maior que 90%
        {
          p1[i] = 1 # atribuir o score 1
        }
        if(x[i,6]>10 & x[i,6]<=30 || x[i,6]>=70 & x[i,6]<=90) # se o percentual de ES está entre 10-30% ou ou entre 70-90%
        { 
          p1[i] = 3 # atribuir o score 3
        }
        if(x[i,6]>30 & x[i,6]<70) # se o percentual de ES está entre 30-70%
        {
          p1[i] = 5 # atribuir o score 5
        }
      }
      for(i in 1:length(x[,7])) # criando ciclo para número de Piscivore Species (P)
      {
        if(x[i,7]<=1) # se o número de P2 é menor ou igual a 1
        {
          p2[i] = 1 # atribuir o score 1
        }
        if(x[i,7]==2 & x[i,7]==3) # se o número de P2 está entre 2 e 3
        { 
          p2[i] = 3 # atribuir o score 3
        }
        if(x[i,7]>3) # se o número de P2 é maior que 3
        {
          p2[i] = 5 # atribuir o score 5
        }
      }
    }
    for(j in 1:length(x[,11])) # criando ciclo para zonas polihalinas
    if(x[j,11]>18) ## se os dados se referem a zonas polihalinas
    {
      for(i in 1:length(x[,2])) # criando ciclo para valor de Species Richness (SR)
      {
        if(x[i,2]<=5) # se o valor de SR é menor ou igual a 5
        {
          sr[i] = 1 # atribuir o score 1
        }
        if(x[i,2]>=6 & x[i,2]<=15) # se o valor de SR está entre 6 e 15
        { 
          sr[i] = 3 # atribuir o score 3
        }
        if(x[i,2]>15) # se o valor de SR é maior que 15
        {
          sr[i] = 5 # atribuir o score 5
        }
      }
      for(i in 1:length(x[,3])) # criando ciclo para percentual de Marine Migrants (MM)
      {
        if(x[i,3]<=10) # se o percentual de MM é menor ou igual a 10%
        {
          mm[i] = 1 # atribuir o score 1
        }
        if(x[i,3]>10 & x[i,3]<50) # se o percentual de MM está entre 10-50%
        { 
          mm[i] = 3 # atribuir o score 3
        }
        if(x[i,3]>=50) # se o percentual de MM é maior ou igual a 50%
        {
          mm[i] = 5 # atribuir o score 5
        }
      }
      for(i in 1:length(x[,4])) # criando ciclo para percentual de Estuarine Species (ES)
      {
        if(x[i,4]<=10 || x[,4]>90) # se o percentual de ES é menor ou igual a 10% ou maior que 90%
        {
          es.1[i] = 1 # atribuir o score 1
        }
        if(x[i,4]>10 & x[i,4]<=30 || x[i,4]>=70 & x[i,4]<=90) # se o percentual de ES está entre 10-30% ou ou entre 70-90%
        { 
          es.1[i] = 3 # atribuir o score 3
        }
        if(x[i,4]>30 & x[i,4]<70) # se o percentual de ES está entre 30-70%
        {
          es.1[i] = 5 # atribuir o score 5
        }
      }
      for(i in 1:length(x[,5])) # criando ciclo para número de Estuarine Species (ES)
      {
        if(x[i,5]<=2) # se o número de ES2 é menor ou igual a 2
        {
          es.2[i] = 1 # atribuir o score 1
        }
        if(x[i,5]>=3 & x[i,5]<=5) # se o número de ES2 está entre 3 e 5
        { 
          es.2[i] = 3 # atribuir o score 3
        }
        if(x[i,5]>5) # se o número de ES2 é maior que 5
        {
          es.2[i] = 5 # atribuir o score 5
        }
      }
      for(i in 1:length(x[,6])) # criando ciclo para percentual de Piscivore Species (P)
      {
        if(x[i,6]<=10 || x[i,6]>90) # se o percentual de P é menor ou igual a 10% ou maior que 90%
        {
          p1[i] = 1 # atribuir o score 1
        }
        if(x[i,6]>10 & x[i,6]<=30 || x[i,6]>=70 & x[i,6]<=90) # se o percentual de ES está entre 10-30% ou ou entre 70-90%
        { 
          p1[i] = 3 # atribuir o score 3
        }
        if(x[i,6]>30 & x[i,6]<70) # se o percentual de ES está entre 30-70%
        {
          p1[i] = 5 # atribuir o score 5
        }
      }
      for(i in 1:length(x[,7])) # criando ciclo para número de Piscivore Species (P)
      {
        if(x[i,7]<=2) # se o número de P2 é menor ou igual a 2
        {
          p2[i] = 1 # atribuir o score 1
        }
        if(x[i,7]>=3 & x[i,7]<=5) # se o número de P2 está entre 3 e 5
        { 
          p2[i] = 3 # atribuir o score 3
        }
        if(x[i,7]>5) # se o número de P2 é maior que 5
        {
          p2[i] = 5 # atribuir o score 5
        }
      }
    }
  }
  else # se o argumento zona for falso
  {
    for(i in 1:length(x[,2])) # criando ciclo para valor de Species Richness (SR)
    {
      if(x[i,2]<=10) # se o valor de SR é menor ou igual a 10
      {
        sr[i] = 1 # atribuir o score 1
      }
      if(x[i,2]>=11 & x[i,2]<=20) # se o valor de SR está entre 11 e 20
      { 
        sr[i] = 3 # atribuir o score 3
      }
      if(x[i,2]>20) # se o valor de SR é maior que 20
      {
        sr[i] = 5 # atribuir o score 5
      }
    }
    for(i in 1:length(x[,3])) # criando ciclo para percentual de Marine Migrants (MM)
    {
      if(x[i,3]<=10) # se o percentual de MM é menor ou igual a 10%
      {
        mm[i] = 1 # atribuir o score 1
      }
      if(x[i,3]>10 & x[i,3]<50) # se o percentual de MM está entre 10-50%
      { 
        mm[i] = 3 # atribuir o score 3
      }
      if(x[i,3]>=50) # se o percentual de MM é maior ou igual a 50%
      {
        mm[i] = 5 # atribuir o score 5
      }
    }
    for(i in 1:length(x[,4])) # criando ciclo para percentual de Estuarine Species (ES)
    {
      if(x[i,4]<=10 || x[,4]>90) # se o percentual de ES é menor ou igual a 10% ou maior que 90%
      {
        es.1[i] = 1 # atribuir o score 1
      }
      if(x[i,4]>10 & x[i,4]<=30 || x[i,4]>=70 & x[i,4]<=90) # se o percentual de ES está entre 10-30% ou ou entre 70-90%
      { 
        es.1[i] = 3 # atribuir o score 3
      }
      if(x[i,4]>30 & x[i,4]<70) # se o percentual de ES está entre 30-70%
      {
        es.1[i] = 5 # atribuir o score 5
      }
    }
    for(i in 1:length(x[,5])) # criando ciclo para número de Estuarine Species (ES)
    {
      if(x[i,5]<=2) # se o número de ES2 é menor ou igual a 2
      {
        es.2[i] = 1 # atribuir o score 1
      }
      if(x[i,5]>=3 & x[i,5]<=5) # se o número de ES2 está entre 3 e 5
      { 
        es.2[i] = 3 # atribuir o score 3
      }
      if(x[i,5]>5) # se o número de ES2 é maior que 5
      {
        es.2[i] = 5 # atribuir o score 5
      }
    }
    for(i in 1:length(x[,6])) # criando ciclo para percentual de Piscivore Species (P)
    {
      if(x[i,6]<=10 || x[i,6]>90) # se o percentual de P é menor ou igual a 10% ou maior que 90%
      {
        p1[i] = 1 # atribuir o score 1
      }
      if(x[i,6]>10 & x[i,6]<=30 || x[i,6]>=70 & x[i,6]<=90) # se o percentual de ES está entre 10-30% ou ou entre 70-90%
      { 
        p1[i] = 3 # atribuir o score 3
      }
      if(x[i,6]>30 & x[i,6]<70) # se o percentual de ES está entre 30-70%
      {
        p1[i] = 5 # atribuir o score 5
      }
    }
    for(i in 1:length(x[,7])) # criando ciclo para número de Piscivore Species (P)
    {
      if(x[i,7]<=5) # se o número de P2 é menor ou igual a 5
      {
        p2[i] = 1 # atribuir o score 1
      }
      if(x[i,7]>=6 & x[i,7]<=12) # se o número de P2 está entre 6 e 12
      { 
        p2[i] = 3 # atribuir o score 3
      }
      if(x[i,7]>12) # se o número de P2 é maior que 12
      {
        p2[i] = 5 # atribuir o score 5
      }
    }
  }
  x.scores <- data.frame(sr, mm, es.1, es.2, p1, p2, x[,8], x[,9], x[,10]) # cria um dataframe com os scores calculados e fornecidos
  score.final <- apply(x.scores, 1, sum) # soma os scores para cada ponto amostral
  quality <- rep(NA, length(score.final)) # cria um objeto para incluir a qualidade ecologica dos scores finais para cada ponto de amostragem
  for(k in 1:length(score.final)) # loop para compor o vetor de qualidade ecológica para os pontos de amostragem
  {
    if(score.final[k]>=7 & score.final[k]<=10) # se o score estiver entre os valores 7 e 10
    {
      quality[k]="bad" # atribuir o termo "bad"
    }
    if(score.final[k]>=11 & score.final[k]<=14) # se o score estiver entre os valores 11 e 14
    {
      quality[k]="poor" # atribuir o termo "poor"
    }
    if(score.final[k]>=15 & score.final[k]<=20) # se o score estiver entre os valores 15 e 20
    {
      quality[k]="moderate" # atribuir o termo "moderate"
    }
    if(score.final[k]>=21 & score.final[k]<=29) # se o score estiver entre os valores 21 e 29
    {
      quality[k]="good" # atribuir o termo "good"
    }
    if(score.final[k]>=30 & score.final[k]<=35) # se o score estiver entre os valores 30 e 35
    {
      quality[k]="high" # atribuir o termo "high"
    }
  }
  resulta <- data.frame(x[,1], score.final, quality) # dataframe do resultado com 3 colunas: (i) pontos de amostragem, (ii) score final de cada ponto e, (iii) qualidade ecológica
  names(resulta) <- c("Pontos de Amostragem", "Score", "Qualidade Ecológica") # nomeia as colunas do resultado
  return(resulta) # retorna o dataframe do resultado 
} # encerra o codigo da funcao

\end{lstlisting}



\subsection{\texorpdfstring{Arquivo da Função}{Arquivo da Funao}}
\label{sec:arquivo_da_funao}


Script da Função EFAI: \href{media/bie5782/01_curso_atual/alunos/trabalho_final/gabrielbbarros/efai.index.r}{efai.index.r}

Script do Exemplo: \href{media/bie5782/01_curso_atual/alunos/trabalho_final/gabrielbbarros/exemplo.data.r}{exemplo.data.r}
\\

\end{document}
