\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{Juliete Costa de Oliveira}{Juliete Costa de Oliveira}}
\label{sec:juliete_costa_de_oliveira}


\includegraphics[keepaspectratio=true,width=0.8\textwidth]{bie5782/01_curso_atual/alunos/trabalho_final/julietecosta/juliete_r}


Doutoranda em Ecologia pelo Instituto de Biociências, USP. Integrante do Laboratório de Ecologia e Evolução (EACH).

Minha tese é sobre ,,Montagem de comunidades em poças temporárias artificiais", sob orientação do Profº. Dr. Luís Schiesari.

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


\href{http://ecor.ib.usp.br/doku.php?id=05_curso_antigo:r2019:alunos:trabalho_final:julietecosta:exercicios}{.:Exercícios}

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


Função “edge.effect” - Relacionando Efeito de borda e Diversidade de espécies

\paragraph{\texorpdfstring{Contextualização}{Contextualizaao}}
\label{sec:contextualizaao}


Conservar a biodiversidade tem sido uma as grandes preocupações deste milênio, cenário que vem se intensificando nos últimos anos, devido à elevação das ações antrópicas nos ambientes naturais e uma das consequências mais  dramáticas das mudanças no uso do solo é a fragmentação da paisagem (Tabarelli \& Gascon, 2005). 

A fragmentação do habitat gera perdas das funções ecológicas pela diminuição dos habitats contínuos e pelo aparecimento de um mosaico composto por ambientes menores, o que resulta, além da redução em tamanho de uma mancha florestal, o aumento na quantidade de ambientes de transição entre o centro do fragmento e sua matriz circundante e um aumento do isolamento entre populações, influenciando na interação da diversidade local e afetando processos ecológicos entre populações e comunidades (Metzger, 2009).  

O efeito de borda é talvez uma das consequências da fragmentação mais conhecidas. Ela gera uma zona entre o interior e a matriz que circunda o fragmento que tem grande influencia sobre a qualidade do fragmento para as espécies que ali vivem.

Diante disso, a função infracitada tem como objetivo analisar a relação entre a diversidade de espécies e o efeito de borda, aqui obtido pela seguinte fórmula (c=perímetro / sqrt (pi*área).

\paragraph{\texorpdfstring{Delineamento}{Delineamento}}
\label{sec:delineamento}


* Informar para o usuário que a função depende da instalação prévia do pacote “Vegan”.

\paragraph{\texorpdfstring{Pseudocódigo}{Pseudocodigo}}
\label{sec:pseudocodigo}


\paragraph{\texorpdfstring{Entrada}{Entrada}}
\label{sec:entrada}


edge.effect (dados1, dados2, diversity = “shannon”, patton(c=perímetro / sqrt (pi*área), cor.test = “spearman”)
\begin{itemize}
  \item dados1 = classe data.frame. Tabela com os dados de abundância das espécies (espécies nas colunas e localidades nas linhas).
  \item dados2 = classe data.frame. Tabela com os dados de perímetro (m) e área (ha) (perímetro e área nas colunas e localidades nas linhas).
  \item diversity = classe function. Retorna a diversidade (uma entre “shannon” e “simpson”).
  \item patton = classe formula. Retorna o índice de patton (efeito de borda).
\end{itemize}


cor.test = classe function. Retorna a correlação entre os dados (uma entre ,,pearson", ,,spearman", ,,kendall").

\paragraph{\texorpdfstring{Testes de premissa}{Testes de premissa}}
\label{sec:testes_de_premissa}

\begin{itemize}
  \item Se classe dos dados1 é diferente de data.frame, STOP: “Os dados devem estar num data.frame”.
  \item Se classe dos dados2 é diferente de data.frame, STOP: “Os dados devem estar num data.frame”.
  \item Se encontrar Na`s nos dados, Warning: Há Na`s nos seus dados. Os Na`s foram substituídos por 0”.
  \item Se valores de abundância não são números inteiros e se não é \textgreater  ou = 0, STOP: “Os valores de abundância devem ser inteiros e \textgreater  ou = 0”.
  \item Se valores de perímetro e área não são números \textgreater  0, STOP: “Os valores de abundância devem ser \textgreater  0”.
  \item Se índice de diversidade (diversity) é diferente de “shannon” ou “simpson”, STOP: “O índice de diversidade deve um entre “shannon” e “simpson”.
  \item Se teste de correlação (cor.test) é diferente de ,,pearson", ,,spearman" ou ,,kendall", STOP: “O teste de correlação deve ser um entre ,,pearson", ,,spearman" ou ,,kendall".
\end{itemize}


\paragraph{\texorpdfstring{Pseudocódigo}{Pseudocodigo}}
\label{sec:pseudocodigo2}


1. Abrir uma janela gráfica usando X11().

2. Carregar o pacote “Vegan” usando função require.

3. Se diversity = “default” \& cor.test = “default”,
\begin{itemize}
  \item A. cria objeto “shannon” com o cálculo dos valores de diversidade de shannon usando os dados1.
  \item B. Cria um objeto “borda” com os valores do índice de efeito de borda, usando a fórmula (c=perímetro / sqrt (pi*área)), usando dados2.
  \item Cria um objeto “cor.spearman” com o valor da correlação diversidade x borda.
  \item Plota um gráfico de “shannon\textasciitilde{}borda”.
\end{itemize}


4. Se diversity = “default” \& cor.test = “pearson”,
\begin{itemize}
  \item Repete passos A e B alterando os nomes dos objetos
  \item Cria um objeto “cor.pearson” com o valor da correlação diversidade x borda.
  \item Plota um gráfico de “shannon\textasciitilde{}borda”.
\end{itemize}


5. Se diversity = “default” \& cor.test = “kendall”,
\begin{itemize}
  \item Repete passos A e B alterando os nomes dos objetos
  \item Cria um objeto “cor.kendall” com o valor da correlação diversidade x borda.
  \item Plota um gráfico de “shannon\textasciitilde{}borda”.
\end{itemize}


6. Se diversity = “simpson” \& cor.test = “default”
\begin{itemize}
  \item A. cria objeto “simpson” com o cálculo dos valores de diversidade de simpson usando os dados1. 
  \item B. Cria um objeto “borda” com os valores do índice de efeito de borda, usando a fórmula (c=perímetro / sqrt (pi*área)), usando dados2. 
  \item Cria um objeto “cor.spearman” com o valor da correlação diversidade x borda.
  \item Plota um gráfico de “simpson\textasciitilde{}borda”.
\end{itemize}


7. Se diversity = “simpson” \& cor.test = “pearson”,
\begin{itemize}
  \item Repete passos A e B alterando os nomes dos objetos
  \item Cria um objeto “cor.pearson” com o valor da correlação diversidade x borda.
  \item Plota um gráfico de “simpson\textasciitilde{}borda”.
\end{itemize}


8. Se diversity = “simpson” \& cor.test = “kendall”,
\begin{itemize}
  \item Repete passos A e B alterando os nomes dos objetos
  \item Cria um objeto “cor.kendall” com o valor da correlação diversidade x borda.
  \item Plota um gráfico de “kendall\textasciitilde{}borda”.
\end{itemize}


\paragraph{\texorpdfstring{Saída}{Saida}}
\label{sec:saida}

\begin{itemize}
  \item Data.frame com os valores dos índices de diversidade e índice de patton.
  \item Gráfico da correlação “diversidade\textasciitilde{}borda” (x = borda, y = diversidade)
\end{itemize}


\paragraph{\texorpdfstring{Referências}{Referencias}}
\label{sec:referencias}


METZGER, J.P. (2009). \textbf{Conservation issues in the Brazilian Atlantic forest.} Biological Conservation, [s.l.], v. 142, n. 6, p. 1138–1140.

PATTON, D.R. (1975). \textbf{A diversity index for quantifying habitat “edge”}. Wildl. Soc. Bull. 3: 171-173.

TABARELLI, M.; GASCON, C. (2005). \textbf{Lições da pesquisa sobre fragmentação: aperfeiçoando políticas e diretrizes de manejo para a conservação da biodiversidade.} Megadiversidade, v. 1, n. 1, p. 181–188.

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


Função “diversity.index” –Índices de diversidade alfa, beta e gama

\paragraph{\texorpdfstring{Contextualização}{Contextualizaao}}
\label{sec:contextualizaao2}


As diversidades alfa (diversidade local), beta (mudança de espécies ao longo de um gradiente ambiental) e gama (diversidade regional) são componentes espaciais da diversidade de espécies importantes para demonstrar a estrutura de uma comunidade e para compreender suas dinâmicas ecológicas.   

A função infracitada objetiva facilitar o estudo das dinâmicas ecológicas de uma comunidade calculando a diversidade alfa, beta e gama de um conjunto de dados.

\paragraph{\texorpdfstring{Delineamento}{Delineamento}}
\label{sec:delineamento2}


* Informar para o usuário que a função depende da instalação prévia do pacote “Vegan”.

\paragraph{\texorpdfstring{Pseudocódigo}{Pseudocodigo}}
\label{sec:pseudocodigo3}


\paragraph{\texorpdfstring{Entrada}{Entrada}}
\label{sec:entrada2}


diversity.index (dados, diversity.alfa = “shannon”, diversity.beta, diversity.gama)
\begin{itemize}
  \item dados = Classe data.frame. Tabela com os dados de abundância das espécies.
  \item diversity.alfa = classe function. Retorna a diversidade alfa (uma entre “shannon” e “simpson”).
  \item diversity.beta = classe function. Retorna a diversidade beta (Índice de Jaccard).
  \item diversity.gama = classe formula. Retorna a diversidade gama (diversidade local x diversidade beta).
\end{itemize}


\paragraph{\texorpdfstring{Testes de premissa}{Testes de premissa}}
\label{sec:testes_de_premissa2}

\begin{itemize}
  \item Se classe dos dados é diferente de data.frame, STOP: “Os dados devem estar num data.frame”.
  \item Se encontrar Na`s nos dados, Warning: Há Na`s nos seus dados. Os Na`s foram substituídos por 0”.
  \item Se valores de abundância (dados) não são números inteiros e se não é \textgreater  ou = 0, STOP: “Os valores de abundância devem ser inteiros e \textgreater  ou = 0”.
  \item Se índice de diversidade alfa é diferente de “shannon” ou “simpson”, STOP: “O índice de diversidade alfa deve ser um entre “shannon” e “simpson”.
\end{itemize}


\paragraph{\texorpdfstring{Pseudocódigo}{Pseudocodigo}}
\label{sec:pseudocodigo4}


1. Abrir uma janela gráfica usando X11().

2. Carregar o pacote “Vegan” usando função require.

3. Se diversity = “default”,
\begin{itemize}
  \item Cria objeto “shannon” com os dos valores de diversidade de shannon.
  \item Cria um objeto as.matrix “Jaccard” com os valores do índice de similaridade de Jaccard.
  \item calcula a matriz de distância (“vegdist”) e o cluster (“hclust”).
  \item Plota um dendograma com a matriz de distâncias.
  \item Cria um objeto “diversity.gama” com os valores de diversidade gama.
\end{itemize}


4.  Se diversity = “simpson”,
\begin{itemize}
  \item Cria objeto “simpson” com os dos valores de diversidade de shannon.
  \item Cria um objeto as.matrix “Jaccard” com os valores do índice de similaridade de Jaccard.
  \item calcula a matriz de distância (“vegdist”) e o cluster (“hclust”).
  \item Plota um dendograma com a matriz de distâncias.
  \item Cria um objeto “diversity.gama” com os valores de diversidade gama.
\end{itemize}


\paragraph{\texorpdfstring{Saída}{Saida}}
\label{sec:saida2}

\begin{itemize}
  \item Data.frame com os valores dos índices de diversidade alfa e beta. 
  \item Matriz com os valores de similaridade de Jaccard.
  \item Dendograma com a matriz de distâncias.
\end{itemize}


\paragraph{\texorpdfstring{Referências}{Referencias}}
\label{sec:referencias2}


MAGURRAN, A.F. (2004). \textbf{Measuring Biological diversity.} Blackwell, Oxford.

LOL LOL

 --- \emph{\href{mailto:aleadalardo@gmail.com}{Alexandre Adalardo de Oliveira} 2019/06/12 16:02}
Oi Juliete, 

As propostas me parecem um pouco básicas demais.  A primeira, além disso, é bem restrita, um índice simples de borda e uma relação simples com a diversidade que será calculada pelo vegan. Além disso, tecnicamente não faz muito sentido comparar diversidade de fragmentos apenas baseado no efeito de borda, já que outros atributos do fragmento podem ser  igualmente importantes ou mais que a borda. Por exemplo, o tamanho total ou o grau de isolamento. O que significa a relação de efeito de borda com diversidade para fragmentos de diferentes tamanhos e/ou graus de isolamentos? Aparentemente, não há um significado explicito, a menos que sejam comparados fragmentos de mesmo tamanho e com mesmo grau de isolamento, variando apenas a forma para que os fragmentos tenham  índices de borda diferentes.

A segunda também é muito simples e está faltando uma informação importante na entrada dos dados, a localidade. A única forma de calcular beta diversidade é ter diferentes localidades para comparar a substituição de espécies (ou dissimilaridade). De qq forma, pelo que entendi, o cálculo em si dos índices seria  feito pelas funções do vegan. Operar as funções de outro pacote apenas é uma proposta muito simples.  

Já que está focada em diversidade, minha sugestão é:

Um dos problemas dos índices de diversidade  é virem desacoplados de uma medida de precisão. É possivel calcular uma variância associada, mas uma boa função poderia ser calcular o intervalo de confiança bootstrap para o índice de diversidade como Shannon e Simpson.  Se fornecer o intervalo bootstrap dos índices na sua função, podemos fechar nela, mas acho que poderia se complicar. Então, minha proposta é focar em apenas uma escala de diversidade (alfa com Shannon e/ou Simpson) e calcular o intervalo de confiança dos índices.

Caso queira seguir outro caminho, modificando as propostas apresentadas, precisa colocar algo nelas que definam um desafio de programação suficiente. 

\textbf{DICAS para o intervalo bootstrap da diversidade}

Fizemos intervalo bootstrap em aula em duas situações:
\begin{itemize}
  \item No tutorial 
  \item Apresentei como exemplo  na última aula sobre \href{media/bie5782/01_curso_atual/material/aula10_program.pdf}{função}
\end{itemize}


Isso vai ajudá-la a construir o intervalo de confiança para a sua função. 
Para o indice de Shannon/Simpson, precisa criar a reamostrar com reposição com o mesmo número de indivíduos da amostra (total de indivíduos), sendo que a probabilidade de cada espécie ser reamostrada depende da sua abundância. Para isso use a função \texttt{sample} para reamostrar o vetor de nome das espécies como dado, o \texttt{size} é o número total de indivíduos e usar o vetor de abundância no argumento \texttt{prob}. 

Quando reorganizar a proposta me avise por email \href{mailto:adalardo@usp.br}{Ale}.

\paragraph{\texorpdfstring{Escolha da função}{Escolha da funao}}
\label{sec:escolha_da_funao}


Para a Função Final resolvi ficar com o Plano B com algumas modificações. O Plano B, inicialmente se propunha a criar uma função cuja finalidade seria devolver ao usuário, as diversidades alfa, beta e gama a partir de um data.frame de abundâncias das espécies por localidade. Na minha proposta de função final, fiquei apenas com a diversidade alfa, seguindo a orientação do profº Alexandre Adalardo. Adicionalmente, minha função também calcula o intervalo bootstrap para cada índice escolhido pelo usuário (,,shannon" ou ,,simpson"). Ao final, a função devolve ao usuário um data frame com os valores de índice de diversidade calculados para cada localidade, a média dos valores de índice calculados para cada reamostragem, o intervalo qmin e qmax da distribuição da frequência dos índices de diversidade.   

\subsection{\texorpdfstring{Código da Função}{Codigo da Funao}}
\label{sec:codigo_da_funao}
\lstset{frame=single, language=rsplus}
\begin{lstlisting}
 
boot.diversity <- function(dados, ind = c("shannon", "simpson"), qmin = 0.025, qmax = 0.975, nboot = 1000) #Cria a função "boot.diversity"
{
  #TESTANDO AS PREMISSAS
  
  if (class(dados)!= "data.frame") #Verificando se os dados estão na classe correta
  {stop ("Os dados devem estar num data.frame")} #Se os dados não estiverem na classe coreta, interrompe a função e exibe a mensagem de erro
  
  if (sum(is.na(dados))!=0) #Verificando se os dados contém NA's
  {warning ("Os dados continham NA's. Os NA's foram substituídos por 0 e todos os valores foram somados a 0,000000001 para serem operados")} #Se houver NA's nos dados, exibe mensagem para o usuário, mas não interrompe a função
  
  if (sum(dados<0, na.rm=TRUE)!=0) #Verificando se há dados negativos nos dados
  {stop (" os valores de abundância devem ser maiores ou iguais a 0")} #Se houver dados negativos, interrompe a função e exibe a mensagem
  
  if (ind!="shannon" & ind!="simpson") #Verificando se o usuário está escolhendo o índice corretamente
  {stop("O índice de diversidade deve ser shannon ou simpson")} #Se  o índice não estiver correto, interrompe a função e exibe a mensagem
  
  if (qmin < 0 | qmax > 1 | qmax < qmin) #Verificando se os quantils mínimos e máximos estão dentro do intervalo correto para a função 
  {warning ("Quantils Incorretos. Calculando o Intervalo de Confiança bootstrap de 95%")
  qmin = 0.025
  qmax = 0.975
  } #Se os quantils não estiverem corretos, exibe mensagem para o usuário, mas não interrompe a função
  
 #LIDANDO COM OS NA's E OS 0's
  
  if (sum(is.na(dados))!=0) #Se houver NA's nos dados
  {
    dados[is.na(dados)] = 0 # onde, nos dados estiver NA, substitua por 0
  dados <- (dados + 0.000000001) #Soma todos os valores dos dados por um valor infinitesimal (0.000000001) para conseguir operá-los dentro dos cálculos  
  } 
  #Lidando com os 0's
  if(sum(dados==0)!=0) #Se houver 0 nos dados
  {
    dados <- (dados + 0.000000001) #Soma todos os valores dos dados por um valor infinitesimal (0.000000001) para conseguir operá-los dentro dos cálculos  
  } 
  
  #CALCULANDO ÍNDICE DE DIVERSIDADE "SHANNON"
    
  if (ind == "shannon") #Se o usuário escolher o índice de shannon
  {
    abund.rel <- matrix(NA, nrow=nrow (dados), ncol=ncol(dados)) #Criando um objeto para guardar o resultado do "for" que irá calcular os valores das abundâncias relativas com mesmo número de linhas e colunas dos dados 
    abund.rel #Just checking...
    for(i in 1:nrow(dados)) #Ciclo em i para calcular abundâncias relativas de todas as localidades
    {
      for(j in 1:ncol(dados)) #Ciclo em j para calcular abundâncias relativas
      {
        a <- dados[i,j]/sum(dados[i,]) #Cálculo das abundâncias relativas (abundâncias/somatório das abundâncias = abundâncias totais)
        abund.rel[i,j]=a #Guardando todos os resultados no meu objeto criado inicialmente (data.frame preenchido com NA's com mesmo número de linhas e colunas) 
      }
    }
    abund.rel #Just checking...
    log.abund.rel <- log(abund.rel) #Calculo do ln (log natural) das abundâncias relativas
    log.abund.rel #Just checking...
    abund.rel.log.abund.rel <- abund.rel*log.abund.rel #Multiplicando as abundâncias relativas pelo log das abundâncias relativas 
    abund.rel.log.abund.rel #Just checking...
    shannon <- - apply(abund.rel.log.abund.rel,1,sum) #Cálculo do indice de shannon usando a formula H' = - sum(n/N*ln*n/N)
    shannon #Checking
    
   #BOOTSTRAP PARA "SHANNON"
    
    boot.shannon <- matrix(data=NA,nrow=nboot,ncol=nrow(dados)) #Criando uma matriz para guardar os índices de shannons das reamostragens
    boot.shannon #JUst checking...
    
    for(j in 1:nboot) # "for" para cálculo das n matrizes de reamostragens
    {
      
      repet <- vector() #Criando um vetor para alocar os índices de shannons calculados das localidades reamostradas
    for(k in 1:nrow(dados)) # "for" para criar uma matriz de reamostragem com os dados de entrada 
    {
        A <- dados[k,]/sum(dados[k,]) #Criando vetor de probabilidades de reamostragem
        linhas <- sample(x=dados[k,], size=ncol(dados),  replace=TRUE, prob=A) #Reamostrando os dados por localidade
        sh <--sum(linhas/sum(linhas)*log(linhas/sum(linhas))) #Calculando o índice de shannon das localidades reamostradas
        repet[k] <- sh #Guardando o índice de shannon das localidades reamostradas
      }
      boot.shannon[j,] <- repet #Guardando os cálculos dos índices de shannons na matriz criada anteriomente
    }
    boot.shannon
    
    B <-apply(boot.shannon,2,mean) #Calculando a média dos índices de cada localidade
    B
    c <- vector() #Criando vetor para guardar o quantil qmin
    d <- vector () #Criando um vetor para guardar o quantil qmax
    for(i in 1:nrow(dados)) #Ciclo para calcular os quantis
    {
      c[i] <- quantile(boot.shannon[,i],probs = qmin) #Calculando o quantil qmin dos índices de shannons das reamostragens
      d[i] <- quantile(boot.shannon[,i],probs = qmax) #Calculando o quantil q max dos índices de shannons das reamostragens
    } 
    
    return(data.frame(shannon,Média.boot=B,ICinf=c,ICsup=d)) #Resultado da função (um data.frame com os índices de shannons das localidades reais, as médias dos índices de shannons das localidades reamostradas, o quantil inferior e o quantil superior) 
   }
 
  #CALCULANDO ÍNDICE DE DIVERSIDADE "SIMPSON"
  
else
{
   abund.rel.Q <- matrix(NA, nrow=nrow(dados), ncol=ncol(dados)) #Criando um objeto para guardar o resultado do "for" que irá calcular os valores das abundâncias relativas com mesmo número de linhas e colunas dos dados 
  abund.rel.Q #Just checking...
  for(i in 1:nrow(dados)) #Ciclo para calcular abundâncias relativas por localidade
  {
    for(j in 1:ncol(dados)) #Ciclo para calcular abundâncias relativas
    {
      a <- dados[i,j]/sum(dados[i,])^2 #Cálculo das abundâncias relativas elevado ao quadrado (abundâncias/somatório das abundâncias = abundâncias totais)^2 
      abund.rel.Q[i,j]=a #Guardando todos os resultados no objeto criado inicialmente (data.frame preenchido com NA's com mesmo n de linhas e colunas) 
    }
    
  }
  abund.rel.Q #Just checking...
  D <- apply(abund.rel.Q,1,sum) #Somando as abundâncias relativas para calcular a Dominância em cada localidade 
  D #Just checking...
  Simpson <- 1-D #Calculando 1 - os valores de dominância para cada localidade para calcular a diversidade Simpson de acordo com a FÓRMULA 1-D = 1 - sum(n/N^2 ) 
  Simpson #Checking
  
  #BOOTSTRAP PARA "SIMPSON"
  
  boot.simpson <- matrix(NA,nboot,nrow(dados)) #Criando uma matriz para guardar os índices de simpsons das reamostragens
  boot.simpson #JUst checking...
  
  for(j in 1:nboot) # "for" para 
  {
    
    repett <- vector() #Criando vetor par guardar os índices de simpsons das reamostragens
    for(k in 1:nrow(dados)) # for para criar uma matriz de reamostragem com os dados 
    {
      B <- dados[k,]/sum(dados[k,]) #Criando as probabilidades de reamostragens das abundâncias 
      linhas <- sample(x=dados[k,], size=ncol(dados),  replace=TRUE, prob=B) #Criando uma reamostragem dos dados de abundância das localidades
      simp <-1-sum(linhas/sum(linhas)^2) #D = 1 - sum(n/N^2 ) #Calculando os índices de simpsons as localidades reamostradas
      repett[k] <- simp #Atribuindo os índices de simpsons para o vetor criado anteriormente para entrar no "for" k
    }
    boot.simpson[j,] <- repett # Atribuindo o vetor dos índices na matriz criada para entrar no "for" j
  }
  boot.simpson #Just checking...
  
  C <-apply(boot.simpson,2,mean) #Calculando a média dos índices de cada localidade reamostrada
  C ##Just checking...
  e <- vector() #Criando um vetor para guardar o qmin 
  f <- vector () #Criando um vetor para guardar o qmax
  for(i in 1:nrow(dados)) #"for" para calcular os quantis
  {
    e[i] <- quantile(boot.simpson[,i],probs = qmin) #Calculando o quantil qmin dos índices de simpsons das reamostragens
    f[i] <- quantile(boot.simpson[,i],probs = qmax) #Calculando o quantil qmax dos índices de simpsons das reamostragens
  } 
  
  return(data.frame(Simpson,Média.boot=C,ICinf=e,ICsup=f)) #Resultado da função (um data.frame com os índices de simpsons das localidades reais, as médias dos índices de simpsons das localidades reamostradas, o quantil inferior e o quantil superior da distribuição) 
 
 }
 }
\end{lstlisting}



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

Boot.diversity                          package:unknown                          R Documentation

BOOTSTRAP PARA ÍNDICES DE DIVERSIDADE

Description:

Função para calcular o intervalo Bootstrap dos índices de diversidade de Shannon e Simpson. Ao final, a função retorna um data.frame com os valores do índice escolhido (Shannon e Simpson) para cada localidade, as médias dos índices calculados para os dados reamostrados e os quantis inferiores e superiores. 

Usage:

boot.diversity (dados, ind=c(“shannon", “simpson"), qmin=0.025, qmax=0.975, nboot=1000)

Arguments:

dados: Data frame com os dados de abundância das espécies por localidade. 
ind: Um argumento para indicar o índice a ser usado na função. “shannon" para calcular o índice de diversidade de shannon e “simpson" para índice de diversidade de Simpson.
qmin: valor inferior do Intervalo de confiança da distribuição da frequência dos índices nas reamostragens bootstraps.
qmax: valor superior do Intervalo de confiança da distribuição da frequência dos índices nas reamostragens.
nboot: Número de reamostragens a ser realizada nos dados de entrada.

Details:

Para o argumento “dados", o usuário deve utilizar um data frame com as espécies dispostas nas colunas e as localidades nas linhas.
Para fornecer o intervalo bootstrap dos índices de diversidade de Shannon e Simpson foi utilizada a função “quantile" sobre os dados dos índices das reamostragens.

Value: 

Um data frame é retornado com os seguintes dados: 
Os valores dos índices (shannon ou simpson) das localidades reais;
 As médias dos índices (shannon ou simpson) das localidades reamostradas;
O valor inferior do Intervalo de confiança da distribuição da frequência dos índices nas reamostragens bootstraps;
O valor superior do Intervalo de confiança da distribuição da frequência dos índices nas reamostragens.

Warning:

"Os dados continham NA's. Os NA's foram substituídos por 0 e todos os valores foram somados a 0,000000001 para serem operados".
"Quantils incorretos. Calculando o Intervalo de Confiança bootstrap de 95%".

Author(s):

Juliete Costa de Oliveira
julietecosta@usp.br

References:
MAGURRAN, A.F. (2004). Measuring Biological diversity. Blackwell, Oxford.

Examples:

#A <- c(9,7,6,4,9,10,1)
#B <- c(1,4,6,2,0,7,6)
#C <- c(3,5,1,2,8,5,9)
#D <- c(1,3,5,8,2,1,NA)
#Islands <-data.frame(A,B,C,D)
#boot.diversity(Islands,shannon)
\end{lstlisting}



\end{document}
