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



\section{\texorpdfstring{Angela Maria da Silva Lehmkuhl}{Angela Maria da Silva Lehmkuhl}}
\label{sec:angela_maria_da_silva_lehmkuhl}


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


Bióloga, mestre em Botânica pela UFPR, atualmente sou doutoranda no programa Biologia Vegetal da UNESP de Rio Claro - SP, e meu projeto de pesquisa é com uso de Diatomáceas como Bioindicadoras da qualidade da água de reservatórios do estado de São Paulo.

\href{media/bie5782/01_curso_atual/alunos/trabalho_final/angela_ecologia/silva_et_al._2010.pdf}{silva\_et\_al.\_2010.pdf}



\textbf{CÓDIGO}
\begin{verbatim}


#Entrada dos dados se dará com duas matrizes, matriz x com abundâncias das espécies, de maneira que as nas colunas ficam as espécies e nas linhas os pontos de coleta. A matriz y com as variáveis, terão as variáveis ambientais nas colunas e nas linhas os pontos de coleta. Ambas as matrizes devem ter o mesmo número de linhas. Não é aceito NA nos dados. Aceita-se valores igual a zero.
optimum <- function(x,y) {
if(is.matrix(x)==FALSE) #Teste lógico para saber se o objeto de entrada é uma matriz.
{
  stop("O objeto não é uma matriz") #Mensagem caso o objeto não seja uma matriz.
}
if(is.matrix(y)==FALSE) #Teste lógico para saber se o objeto de entrada é uma matriz.
{
  stop("O objeto não é uma matriz")
}
if(nrow(x)!=nrow(y)) #Teste para saber se as matrizes tem o mesmo número de linhas
{
  stop("As matrizes devem ter o mesmo número de linhas")
}
matriz.optimum<- matrix(NA, nrow=ncol(x), ncol=ncol(y), dimnames=list(colnames(x), colnames(y))) #Cria uma matriz para guardar os valores de ótimo ecológico que vão ser calculados. Os nomes das linhas serão os nomes das espécies e o nome das colunas serão os nomes das variáveis.
matriz.tolerance<- matrix(NA, nrow=ncol(x), ncol=ncol(y), dimnames=list(colnames(x), colnames(y)))#Cria uma matriz para guardar os valores de tolerância ecológica que vão ser calculados. Os nomes das linhas serão os nomes das espécies e o nome das colunas serão os nomes das variáveis.

for(i in 1:ncol(x)) #Fazendo uma série de loopings para dar início ao cálculo do ótimo. Aqui os valores da matriz de abundância serão acessados. 
{
  for(j in 1:ncol(y)) #Fazendo uma série de loopings o cálculo do ótimo. Aqui os valores da matriz de variáveis serão acessados. 
  {
    matriz.optimum[i,j]<-weighted.mean(y[,j],x[,i]) #Calculo do ótimo utilizando a função da média ponderada (weighted.media) o segundo conjunto de dados tem que ser aquele que vai fornecer o peso para a média ponderada. Assim, se a ordem de entrada das matrizes for alterada, o valor será alterado também. Para o cálculo do ótimo, o conjunto de valores que forncem o peso para a média ponderada são os valores das abundâncias. 
  }  
}

for(i in 1:ncol(x)) #Fazendo uma série de loopings para dar início ao da tolerância. Aqui os valores da matriz de abundância serão acessados.
  {
  for(j in 1:ncol(y)) #Fazendo uma série de loopings para dar início ao cálculo da tolerância. Aqui os valores da matriz de abundância serão acessados.
  {
    matriz.tolerance[i,j]<-((sum(x[,i]*(y[,j]-weighted.mean(y[,j],x[,i]))^2))/sum(x[,i]))^0.5 ##Calculo da tolerância ecológica. 
  }
}
optimum.tolerance<-array(c(matriz.optimum,matriz.tolerance)
                         ,dim=c(ncol(x),ncol(y),2),
                         dimnames=list(colnames(x)
                         ,colnames(y)
                         ,c("Ótimo Ecológico","Tolerância Ecológica")))
                          #Array com os dados do ótimo e da tolerância será o retorno da função.
for(i in 1:ncol(y)) #Fazendo uma série de loopings para a saída gráfica de cada espécie. Aqui acessará os dados para o eixo x que são os valores das variáveis.
    {
      for(j in 1:ncol(x)) #Fazendo uma série de loopings para a saída gráfica de cada espécie. Aqui acessará os dados para o eixo y que são os valores das abundâncias.
      {
        names.axis.x<- colnames(y) #criando um objeto para dar nomes ao eixo x
        names.axis.y<- colnames(x) #criando um objeto para dar nomes ao eixo y
        plot(y[,i],x[,j],ylim=c(0,max(x)),xlab=names.axis.x[i],ylab=names.axis.y[j]) #Plota um gráfico de distribuição das espécies em relação à variável analisada.
        var.range<- min(y[,i]):max(y[,i]) #objeto para guardar os valores entre mínimo da variável ambiental e máxima da variável ambiental para ser utilizada na equação de regressão da curva.
        yA<- (max(x[,j]))*exp(-0.5*(var.range - matriz.optimum[j,i])^2/matriz.tolerance[j,i]^2) #Regressão para plotar a curva no gráfico. 
        lines(var.range,yA,lty=1,col="black") #Plota a curva da regressão na cor preta. 
        abline(v=matriz.optimum[j,i],lty=2) #Plota uma linha pontilhada mostrando o valor do ótimo ambiental.
        valor.optimum<-paste("u =",as.character(round(matriz.optimum[j,i],2)),sep=" ") # valor do ótimo ambiental
        text(0.7*max(y),max(x), labels=valor.optimum) #Plota o valor do ótimo na área do gráfico
        }
    }
    (optimum.tolerance) #Retorno da Função é um array com o ótimo e a tolerância de cada espécie para cada variável.
    } ##FIM!
\end{verbatim}


\textbf{Help da Função}

Ótimo               package:unknown                R Documentation

Cáculo do Ótimo ecológico e da tolerância ecológica de espécies.
\begin{verbatim}

Description:
  
A função calcula o ótimo ecológico e a tolerância ecológica de espécies em relação a variáveis ambientais de interesse. Para isso utiliza-se uma matriz de abundância e uma matriz com os valores das variáveis ambientais de interesse. A função retorna os resultados em um array e um gráfico com o ótimo de cada espécie.

Usage:

optimum(x,y)

Arguments:
x matriz com os dados de abundância ou densidade das espécies
y matriz com os dados para variável ambiental

Details:
A matriz (x) de abundância ou de densidade de espécies deve apresentar as espécies nas colunas. 
A matriz (y) com as variáveis ambientais deve apresentar as variáveis em cada coluna.
Ambas as matrizes devem ter o mesmo número de linhas.
A função aceita valores de zero.
A função não aceita NAs.

Value:
A função retorna no Console duas matrizes em um objeto de array.
A primeira matriz trará os valores dos ótimos ecológicos de cada espécie. A segunda matriz trará os valores de tolerância ecológica de cada espécie. Nas linhas estarão as espécies e nas colunas as variáveis ambientais.
Se o objeto não for uma matriz, a função retornará uma mensagem de aviso.
Se as matrizes não tiverem o mesmo número de linhas, a função retornará um aviso.

Warning:
Se houver mais de 100 espécies, a função não retornará todos os gráficos.
\end{verbatim}

\begin{verbatim}
Author(s):
Angela Maria da Silva Lehmkuhl
e-mail: angela_ecologia@yahoo.com.br

References:
  Crawley, M. 2007. The R book.  John Wiley & Sons Ltd, England.
  Ter Braak, C.J.F e Van Dam, H (1989). Inferring ph from diatoms: a comparison of old and new calibration methods. Hydrobiologia 178:209-223.
  
Examples:
x<- matrix(sample(c(seq(from=10, to=1000, length=10), seq(from=1, to=100, length=10), seq(from=50, to=500, length=10))), nrow=10, ncol=3, dimnames=list(c(1:10), c("sp1","sp2", "sp3"))) #Matriz de aundância de espécies
y<- matrix(sample(round(c(seq(from=0.2, to=200, length = 10), seq(from=3.0, to=8.0, length = 10 )))), nrow=10, ncol=2, dimnames=list(c(1:10),c("var1", "var2"))) #Matriz das variáveis ambientais
\end{verbatim}


\textbf{
}\textbf{PROPOSTA DE TRABALHO FINAL}\textbf{} Comentários Vitor Rios
Angela, 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  elaborar suas propostas, deixando a teoria de lado e se focando no que a função tem que fazer, ou partir prum plano C

vrios81@gmail.com

\textbf{
}\textbf{PROPOSTA DE TRABALHO FINAL}\textbf{} Resposta aos Comentários Vitor Rios
Olá Vitor. Pois bem, na proposta A do ótimo ecológico, a função calcularia o ótimo ecológico e a tolerância ecológica de espécies frente a uma variável ambiental. Para isso, os dados de abundância relativa ou densidade de espécies entraria em uma matriz, onde nas colunas estariam as espécies e nas linhas os pontos de coleta. Em outra matriz estariam os dados das variáveis ambientais, de modo que nas colunas estariam as variáveis e nas linhas os pontos de coleta. A partir disso calcularia o ótimo ecológico e em seguida a tolerância ecológica de cada espécie para cada variável desejada. A função retornaria um array com os valores dos ótimos e das tolerâncias para cada espécie em cada variável ambiental. Ainda a função deve retornar um gráfico onde no eixo y seria a densidade ou abundância da espécie k e no eixo x estariam o gradiente da variável ambiental. O gráfico seria uma curva, onde os limites dados pelo valor de tolerância, o pico da curva seria no ótimo e a altura da curva seria dada pela máxima abundância ou densidade.

Acho que pode ajustar a proposta A com os comentário do Vitor. Deixe o gráfico de lado, retorne apenas o ótimo ecológico e a tolerância para cada espécie/varíável. Garanta que a função rode para várias espécies e um conjunto de variáveis ambientais. Gostei, uma função que homenageia os trabalhos de Ter Braak na dećada de 80..    Comentários Vitor Rios
Angela, pode fazer a proposta A como Alê falou acima, sem os gráficos

vrios81@gmail.com Comentários Angela
Se eu conseguir rodar o gráfico, posso deixar? Comentários Vitor Rios
Sim, sem problemas

vrios81@gmail.com

\textbf{Proposta A}
PROPOSTA REVISADA! A função calcularia o ótimo ecológico e a tolerância ecológica de espécies frente a uma variável ambiental. Para isso, os dados de abundância relativa ou densidade de espécies entraria em uma matriz, onde nas colunas estariam as espécies e nas linhas os pontos de coleta. Em outra matriz estariam os dados das variáveis ambientais, de modo que nas colunas estariam as variáveis e nas linhas os pontos de coleta. A partir disso calcularia o ótimo ecológico e em seguida a tolerância ecológica de cada espécie para cada variável desejada. A função retornaria um array com os valores dos ótimos e das tolerâncias para cada espécie em cada variável ambiental. Ainda a função deve retornar um gráfico onde no eixo y seria a densidade ou abundância da espécie k e no eixo x estariam o gradiente da variável ambiental. O gráfico seria uma curva, onde os limites dados pelo valor de tolerância, o pico da curva seria no ótimo e a altura da curva seria dada pela máxima abundância ou densidade.
A proposta é baseada no trabalho de Ter Braak, C.J.F e Van Dam, H (1989). Inferring ph from diatoms: a comparison of old and new calibration methods. Hydrobiologia 178:209-223. Embora o trabalho se baseie em diatomáceas, o cálculo pode ser aplicado para outras espécies aquáticas utilizadas em biomonitoramento, ou mesmo em estudos autoecológicos, e quiçá a função possa ser aplicad
O cálculo do ótimo (ũk) é dado pela somatória da abundância da espécie k na amostra i (yik) multiplicado pelo valor da variável ambiental na amostra (xi) dividido pela somatória da abundância da espécie k na amostra i (yik).

ũk= ∑(1* yik* xi)/∑(1*yik)

A tolerância (tk) é calculada pela somatória da abundância da espécie k na amostra i (yik) multiplicado pela diferença entre o valor da variável ambiental na amostra i (xi) e o valor do ótimo ecológico (ũk) elevado ao quadrado, dividido pela somatória da abundância da espécie k na amostra i (yik). Tudo isso elevado à ½.

tk= \{∑(yik)*((xi- ũk)\textasciicircum{}2)/(∑(yik)\}\textasciicircum{}(1\textbackslash{}2)

\textbf{
Proposta B}
Índices de qualidade de água utilizando organismos aquáticos vêm sendo amplamente desenvolvidos para dar agilidade e rapidez no diagnóstico da qualidade dos corpos d’água. Comumente, são desenvolvidos utilizando a comunidade de diatomáceas e de macroinvertebrados. Os índices utilizam como base a abundância relativa das espécies e um valor de sensibilidade das espécies a uma característica do ambiente, por exemplo, grau de eutrofização ou mesmo saprobicidade da água. Assim, a proposta tem como objetivo, elaborar uma função que retorne o resultado do índice com a classificação do ambiente. Para isso, a proposta baseia-se no Índice Trófico de Qualidade de Água (ITQA) de Lobo et al. (2016) que utiliza diatomáceas, no entanto, esse índice poderá ser ajustado para outras comunidades aquáticas. 

ITQA= ∑(vt*h)/∑h

Onde:
vt= é o valor trófico para cada espécie, que vai constara na matriz de entrada para a função;
h: aundância relativa de cada espécie.
O valor do ITQA vai variar de 1 a 4.
ITQA	Níveis de poluição
1,0 - 1,5	Oligotrófico (poluição desprezível)
1,5 - 2,5	β-mesotrófico (poluição moderada)
2,5 - 3,5	α-mesotrófico (poluição forte)
3,5 - 4,0	Eutrófico (poluição excessiva)

\end{document}
