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



\section{\texorpdfstring{Cálculo de L de Ripley e O-Ring}{Calculo de L de Ripley e ORing}}
\label{sec:calculo_de_l_de_ripley_e_oring}


Dentre os padrões que uma determinada população vegetal pode assumir, destacam-se três: Aleatório, Uniforme e Agregado.
Uma maneira de verificar qual padrão espacial ocorre em diversas escalas espaciais é utilizando o L de Ripley ($K_{(r)}$) ou o O-Ring ($O_{(r)}$) que são, basicamente, medidas de densidade em torno de um ponto.

Estes índices são calculados da seguinte forma:\footnote{Extraído da página da disciplina Ecologia de Populações e comunidades vegetais}
\begin{quote}
O $L_{(r)}$ é baseado na função K de Ripley, que é a densidade média de pontos a uma dada distância $r$ de cada ponto, dividida pela intensidade ($\lambda$) dos pontos na área de estudo\footnote{intensidade, nesse caso, é a densidade total; número de pontos médio por unidade de área}:\\$$ K_{(r)} = \frac{\sum_{i\neq{j}}^{i}I({d_{ij}<r})}{n}\frac{1}{\lambda}$$\\$$ L_{(r)}= (\sqrt{\frac{K_{(r)}}{\pi}}-r) $$\\Onde: \\  * $d_{ij}$ é a distância do ponto $i$ ao ponto $j$; \\  * $I({d_{ij}<r})$ função indicadora, sendo 1 se o ponto está a uma distância menor que $r$ de $i$, fora desse raio o ponto tem valor 0; e \\  * $n$ é o número de pontos total. \\ Sendo que $L(r)>0$ indica agregação, enquanto $L(r)<0$ indica padrão homogêneo.\\Logo, definimos $O(r)$ como: \\$$ O_{(r)} = L_{(r)} - L_{(r-l)}$$\\Onde:\\  * $r -l$ : é o raio menos a largura do anel \footnote{raio menor do anel}\\Na completa aleatoriedade espacial $O(r) = \lambda$ (intensidade do padrão), quando o padrão é agregado $O(r) > \lambda$ e quando é homogêneo $O(r) < \lambda$
\end{quote}


Para saber mais, clique \href{http://ecologia.ib.usp.br/bie320/doku.php?id=2017:roteiros:ep2\#l_de_ripley_l_r}{aqui}.

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


\texttt{pad.esp(x, y, lim, rmax, r, ic, nsim)}
\begin{itemize}
  \item \texttt{x} = posições x de cada árvore \emph{(classe numeric)}
  \item \texttt{y} = posições y de cada árvore \emph{(classe numeric)}
  \item \texttt{lim} = limite de máximo e mínimo de x e y, respectivamente, em m².
  \item \texttt{rmax} = raio máximo \emph{(classe integer)}
  \item \texttt{r} = tamanho do anel ou diferença entre dois raios consecutivos. \emph{(classe integer)}
  \item \texttt{ic} = Se TRUE, faz intervalo de confiança através de simulações, se FALSE, não. \emph{(classe logical)}
  \item \texttt{nsim} = numero de simulações utilizadas para gerar IC. \emph{(classe integer)}
\end{itemize}


\subsubsection{\texorpdfstring{Verificação de parâmetros:}{Verificaao de parametros}}
\label{sec:verificaao_de_parametros}

\begin{itemize}
  \item \texttt{x} é numérico e \textgreater  0? Se não, escreve ,,x deve ser numérico e \textgreater  0".
  \item \texttt{y} é numérico e \textgreater  0? Se não, escreve ,,y deve ser numérico e \textgreater  0".
  \item O comprimento de \texttt{x}, \texttt{y} são iguais? Se não, retorna ,,x, y devem ter o mesmo comprimento".
  \item \texttt{lim} é numérico e \textgreater  0? Se não, escreve ,,lim deve ser numérico e \textgreater  0"
  \item \texttt{lim} tem comprimento 4? Se não, escreve ,,lim deve conter c(xmax, xmin, ymax, ymin)"
  \item \texttt{rmax} = é inteiro e de comprimento 1? Se não, retorna ,,rmax deve ser inteiro e de comprimento 1".
  \item \texttt{r} é inteiro e de comprimento 1? Se não, retorna ,,r deve ser inteiro e de comprimento 1".
  \item \texttt{ic} é lógico? Se não, retorna ,,ic deve ser lógico".
  \item \texttt{nsim} é inteiro de comprimento 1? Se não, retorna ,,nsim deve ser inteiro  e de comprimento 1".
\end{itemize}


\subsubsection{\texorpdfstring{Pseudo-Código}{PseudoCodigo}}
\label{sec:pseudocodigo}

\begin{itemize}
  \item Cria matriz \texttt{distancia}, com número de linhas e colunas igual ao comprimento de \texttt{x} e \texttt{y} contendo NAs.
  \item Cria vetor \texttt{ntot} guardando o comprimento de \texttt{x}.
  \item Cria vetor \texttt{dens} dividindo \texttt{ntot} por \texttt{(xmax - xmin) * (ymax - ymin)}. \footnote{ou seja, a área total de estudo}
  \item Cria sequencia \texttt{sequ} de 1 a rmax, com \texttt{by = r}.
  \item Cria vetor \texttt{ind}, com comprimento igual ao comprimento de \texttt{sequ}, contendo NAs.
\end{itemize}

\begin{itemize}
  \item Ciclo for de 1 a \texttt{ntot} (repete o próximo for para todos os pontos).

  \begin{itemize}
    \item Ciclo for de 1 a \texttt{ntot}.

      \begin{itemize}
        \item Calcula distância de um ponto a todos os pontos.
        \item Guarda resultado em uma linha de \texttt{distancia}.
      \end{itemize}
    \item Ciclo for de \texttt{sequ}.

      \begin{itemize}
        \item Conta quantas quantos elementos de \texttt{distancia} são menores que \texttt{1:rmax} e guarda em \texttt{ind}.
      \end{itemize}
      \end{itemize}
      \end{itemize}

              \begin{itemize}
  \item Multiplica \texttt{ind} por \texttt{1/(ntot*dens)} e guarda em \texttt{kr}.
  \item Calcula o L de Ripley pela fórmula \texttt{(kr/pi)\textasciicircum{}1/2 - r} e guarda em \texttt{rip}.
  \item Extrai as posições \texttt{sequ} de \texttt{ind} e guarda em \texttt{tempring}
  \item Calcula diferença entre 2 posições consecutivas de \texttt{tempring} e guarda em \texttt{ring}.
\end{itemize}


\paragraph{\texorpdfstring{Se ic = TRUE}{Se ic  TRUE}}
\label{sec:se_ic__true}

\begin{itemize}
  \item Cria objeto \texttt{indsim}, matriz com nsim colunas e ntot linhas, contendo NAs.
  \item Cria objeto \texttt{ripsim}, matriz com nsim colunas e ntot linhas, contendo NAs.
  \item Cria objeto \texttt{ringsim}, matriz com nsim colunas e ntot-1 linhas, contendo NAs.
\end{itemize}

\begin{itemize}
  \item Ciclo for de 1 a \texttt{nsim}

  \begin{itemize}
    \item Sorteio de \texttt{ntot} números uma distribuição uniforme entre \texttt{xmin}, \texttt{xmax}, guarda em \texttt{xsim}
    \item Sorteio de \texttt{ntot} números uma distribuição uniforme entre \texttt{ymin}, \texttt{ymax}, guarda em \texttt{ysim}
    \item Cria objeto \texttt{distsim}, com número de linhas e colunas igual ao comprimento de \texttt{xsim} e \texttt{ysim} contendo NAs.
    \item Ciclo for de 1 a \texttt{ntot} (repete os próximos for para todos os pontos)

      \begin{itemize}
        \item Ciclo for de 1 a \texttt{ntot}

              \begin{itemize}
          \item Calcula distância de um ponto a todos os pontos
          \item Guarda resultado em \texttt{distsim}
        \end{itemize}
        \item Ciclo for de \texttt{sequ}

              \begin{itemize}
          \item Conta quantas quantos elementos de \texttt{distsim} são menores que \texttt{1:rmax} e guarda em \texttt{indsim}.
        \end{itemize}
        \end{itemize}
    \item Multiplica \texttt{indsim} por \texttt{1/(ntot*dens)} e guarda em \texttt{krsim}.
    \item Calcula o L de Ripley pela fórmula \texttt{(krsim/pi)\textasciicircum{}1/2 - r} e guarda em \texttt{ripsim[i]}.
    \item Extrai as posições \texttt{sequ} de \texttt{ind} e guarda em \texttt{tempring}
    \item Calcula diferença entre 2 posições consecutivas de \texttt{tempring} e guarda em \texttt{ringsim[i]}.
  \end{itemize}
  \end{itemize}

      \begin{itemize}
  \item Calcula quantis para cada raio de ripsim
  \item Calcula quantis para cada raio de ringsim
\end{itemize}

\begin{itemize}
  \item Cria vetor \texttt{saida}, um dataframe com mesmo número de colunas que \texttt{sequ} contendo  na

  \begin{itemize}
    \item primeira linha: ,,agregado" se \texttt{rip} \textgreater  quantil superior de \texttt{ripsim} e ,,homogêneo" se \texttt{rip} \textless  quantil inferior de \texttt{ripsim}
    \item segunda linha: ,,aleatório" se \texttt{ring} está entre os quantis de \texttt{ringsim}, ,,agregado" se \texttt{ring} \textgreater  quantil superior de \texttt{ringsim} e ,,homogeneo" se  \texttt{ring} \textless  quantil inferior de \texttt{ringsim}.
  \end{itemize}
  \end{itemize}


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


Plota gráfico(s) com o(s) valor(es) de L-Ripley e/ou O-Ring (com intervalos de confiança se ic = TRUE)

Retorna \texttt{saida}.

\end{document}
