\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{MARCOS MARTINS}{MARCOS MARTINS}}
\label{sec:marcos_martins}


\includegraphics[keepaspectratio=true,width=0.8\textwidth]{bie5782/01_curso_atual/alunos/trabalho_final/marcos.martins.silva/maco2}


\textbf{Mestrando em Ecologia, Instituto de Biociências, USP.}

Meu interesse principal está na interface das áreas de Ecologia e Evolução, e busco compreender como interações endossimbióticas estão em ,,corda-bamba", ora desenvolvendo conflito, ora cooperação.

O título da minha dissertação é:  ,,Prevalência da bactéria endossimbionte \emph{Wolbachia} em assembléias de drosofilídeos neotropicais", orientado pelo Prof. Dr. Rodrigo Cogni.

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


Página com os meus exercícios resolvidos: \href{http://ecor.ib.usp.br/doku.php?id=05_curso_antigo:r2018:alunos:trabalho_final:marcos.martins.silva:exercicios}{.:Exercícios}

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


\subsubsection{\texorpdfstring{Plano A - Plantas Companheiras e Antagonistas}{Plano A  Plantas Companheiras e Antagonistas}}
\label{sec:plano_a__plantas_companheiras_e_antagonistas}


\textbf{Contextualização}

Cultivares apresentam crescimento e desempenho diferenciado quando cultivados com outros tipos de plantas capazes de interagir com elas. Na produção orgânica, um dos objetivos é maximizar a proximidade do cultivo de plantas capazes de trazer benefício para uma planta de interesse, seja pelo favorecimento ao crescimento, seja pelo repelimento de pragas; e, tentar reduzir a proximidade de plantas que podem interagir antagonisticamente. Dessa forma, faz necessário reconhecer a época do cultivo de cada planta e tentar associar a ela, plantas companheiras de mesmo período.

\textbf{Descrição}

A função irá ler uma matriz de correlação de benefício entre plantas, em que as linhas representam as plantas de interesse (cultivares) e as colunas as plantas com associação. Para cada linha é apresentado o valor da benefício que cada planta da coluna trás para esse planta, sendo que 1 apresenta a maior benefício, 0 neutralidade na associação e -1 o pior benefício (a interação é antagonística). Dois vetores de datas apresentando, respectivamente, o início e o fim do período de plantio dispostos na ordem dos objetos das linhas da matriz, serão lidos para encontrar o intervalo do período de plantio. Para cada cultivar a função encontra o intersecto de intervalo de plantio com as associações. A razão entre essa intersecção e o intervalo  do cultivar de interesse da um valor de 0 a 1. A função constrói uma matriz com essas razões e ela é multiplicada pela matriz de associação de entrada na função. A função retorna essa matriz ou, se informado um cultivar de interesse (target), retorna as cinco melhores e as cinco piores associações a esse cultivar de interesse, mostrando o intervalo de plantio e os valores da associação de forma gráfica. 

\subsubsection{\texorpdfstring{Plano B - Fronteira de Possibilidade de Produção}{Plano B  Fronteira de Possibilidade de Produao}}
\label{sec:plano_b__fronteira_de_possibilidade_de_produao}


\textbf{Contextualização}

Um dos princípios mais básicos em Economia é que os recursos são escassos, e que existem trade-offs na produção de um bem em detrimento de outro. Para examinar esses trade-offs, os economistas muitas vezes usam o modelo conhecido como fronteira de possibilidade de produção. Nela simplificamos a nossa compreensão dos trade-offs ao considerar uma economia de apenas dois bens. Em Ecologia, esse mesmo princípio pode ser aplicado para o uso de dois recursos por um organismo, em que a escolha e obtenção de um recurso implica na não obtenção do outro. 

\subsection{\texorpdfstring{Página de Ajuda - Plano A}{Pagina de Ajuda  Plano A}}
\label{sec:pagina_de_ajuda__plano_a}


Seguindo a proposta de trabalho com o Plano A - Plantas Companheiras e Antagonistas\lstset{frame=single}
\begin{lstlisting}

consortia                 package:nenhum                        R Documentation

Uma função que encontra as cinco melhores e as cinco piores associações 
para um cultivar de interesse dada a associação e maior intervalo 
em que essas plantas podem ser cultivadas juntas no campo. Se não especificado, 
a função retorna a matriz final de associação com peso pelo período de plantio conjunto. 

Usage

consortia(target, data, start, end)

Arguments

target = um cultivar de interesse, que é um objeto das linhas (rownames) dentro 
da matriz de associação (data). 

data = Uma matriz com as linhas sendo os elementos de interesse e as colunas os
elementos que irão interagir (associação).

start = Vetor de datas de início de plantio. Deve possuir a mesma ordem dos objetos
(rownames) da matriz (data).

end = Vetor de datas do final de plantio. Deve possuir a mesma ordem dos objetos 
(rownames) da matriz (data).

Value

Para cada cultivar a função encontra o intersecto de intervalo de plantio com as associações. A razão 
entre essa intersecção e o intervalo do cultivar de interesse da um valor de 0 a 1. A função constrói 
uma matriz com essas razões e ela é multiplicada pela matriz de associação de entrada na função. 
Se não especificado o target da função, ela retorna por default a matriz resultante dessa multiplicação.
Se especificado, a função retorna uma lista contendo dois data frame com cinco melhores e as cinco 
piores associações, mostrando o intervalo de plantio que elas podem ser cultivadas juntas e 
graficamente mostrando o valor das associações. 

Author

Marcos Aurélio Martins Oliveira da Silva

Examples

No final da pagina do Wiki há um arquivo (script_function_consortia.r) 
que consiste na matriz e nos vetores de entrada na função. 
Lá os exemplos abaixo já estão inseridos no arquivo. 

consortia(target = "alface", data=matq, start=datas.inicio, end=datas.fim)
consortia(target = "beterraba",data=matq, start=datas.inicio, end=datas.fim)
consortia(data=matq, start=datas.inicio, end=datas.fim)

\end{lstlisting}



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

#################### CONSORTIA FUNCTION ####################
consortia <- function(target = "final.matrix", data, start, end){
      #################### IMPORTANDO PACOTES #####################
      library(lubridate)
      library(lattice)
      #################### VETOR DE DATAS ####################
      period <- data.frame(as.character(start),as.character(end)) #cria um data frame com os vetores de datas
      colnames(period) <- c("start", "end") # nomeia início e fim do período de plantio
      rownames(period) <- rownames(data) # da o mesmo nome das linhas do data (uma matriz) para as linhas do data frame de periodo
      period[,1] <- as.Date.character(period[,1]) #Vetor de datas do início do plantio
      period[,2] <- as.Date.character(period[,2]) #Vetor de datas do final do plantio
      
      diff <- period$end - period$start  # diferença entre os vetores de inicio e fim de plantio
      period$interval <- as.interval(x = diff, start = period$start) # intervalo da classe lubridate entre inicio e fim
      
      if (length(start) == length(end)){
            ratio.date = matrix(NA, nrow = length(start), ncol = length(start))
            intersect.interval = matrix(NA, nrow = length(start), ncol = length(start)) 
            rownames(intersect.interval) <- rownames(data) 
            colnames(intersect.interval) <- rownames(data) 
      }else{
            print("Os vetores de datas NÃO são compatíveis")
      }
      
      for (j in 1:length(start)) {
            nomin = period$interval[j]
            x = as.numeric(nomin)
            for (i in 1:length(start)) {
                  associate = intersect(nomin, period$interval[i])
                  intersect.interval[i,j] <- as.character(associate) 
                  y = as.numeric(associate)
                  ratio.date[i,j] = y/x
            }
      }
      
      final.matrix <- data*ratio.date
      fmatrix <- final.matrix
      #################### TARGET COMO DEFAULT - MATRIZ COMPLETA ####################
      if(target == "final.matrix"){
            resultado <- t(final.matrix) 
      }else{
            #################### TARGET COMO CULTIVAR ESCOLHIDO ####################
            # Encontrando as 5 melhores associações para o cultivar escolhido
            cons <- fmatrix[, target]
            cons.rank <- rank(x = cons, na.last = NA, ties.method = "first")
            best.consortia <- cons[names(cons.rank[cons.rank >= length(cons.rank) - 4])]
            dates.best.consortia <-  intersect.interval[names(best.consortia),target]
            # Encontrando as 5 piores associações para o cultivar escolhido
            conf <- fmatrix[, target]
            conf.rank <- rank(x = conf, na.last = NA, ties.method = "first")
            worst.consortia <- conf[names(conf.rank[conf.rank <= 5])]
            dates.worst.consortia <-  intersect.interval[names(worst.consortia),target]
            #################### RESUMO E APRESENTAÇÃO GRÁFICA####################
            rgb.palette <- colorRampPalette(c("orchid4","white", "lightseagreen"), space = "rgb")
            
            bassoc <- rbind(best.consortia,rep(0,5))
            
            plot1 <- levelplot(bassoc, par.settings = list(axis.line = list(col = "transparent"), xaxt = "n"),
                               scales = list(x = list(labels = NULL), tck = c(0,0)),
                               main="",xlab="Companheiras", ylab="", col.regions=rgb.palette(200),
                               cuts=0, at=seq(-1,1,0.05))  
            
            wassoc <- rbind(rep(0,5), worst.consortia)
            
            plot2 <- levelplot(wassoc, par.settings = list(axis.line = list(col = "transparent")),
                               scales = list(x = list(labels = NULL), y = list(alternating = 2), tck = c(0,0)), colorkey = FALSE,
                               main="",xlab="Antagonistas", ylab= "", col.regions=rgb.palette(200),
                               cuts=0, at=seq(-1,1,0.05))  
            
            best.consortia.df <- cbind(best.consortia, as.character(dates.best.consortia))
            colnames(best.consortia.df) <- c("Companheiras", "Plantio Conjunto no Campo")
            worst.consortia.df <- cbind(worst.consortia,dates.worst.consortia)
            colnames(worst.consortia.df) <- c("Antagonicas", "Plantio Conjunto no Campo")
            
            
            title <- cat("\n\n\n\t ***Companheiras e Antagônicas*** \n\n\t")
            subtitle <- cat("\n\t Os melhores e piores cultivares para se plantar com", target, "são:\n")
            con <- list(title, subtitle, best.consortia.df, worst.consortia.df)
            
            resultado = con
            list(print(plot1, position = c(0.0, 0, 0.65, 1), more = TRUE),
                 print(plot2, position = c(0.45, 0, 1, 1)))
      }
      return(resultado)
}
\end{lstlisting}



\subsection{\texorpdfstring{Arquivo da Função - Plano A}{Arquivo da Funao  Plano A}}
\label{sec:arquivo_da_funao__plano_a}


Arquivo da função

\href{media/bie5782/01_curso_atual/alunos/trabalho_final/marcos.martins.silva/consortia.r}{consortia.r}

Arquivo de exemplo de uso da função consortia

\href{media/bie5782/01_curso_atual/alunos/trabalho_final/marcos.martins.silva/script_function_consortia.r}{script\_function\_consortia.r} Vitor Rios
Marcos, suas propostas estão fora do padrão requisitado, e principalmente, a ausência do pseudocódigo ou uma descrição do que a função vai fazer não permite entender o como elas devem funcionar. Sua proposta B, principalmente, precisa ser mais elaborada. Por favor, formate as duas corretamente, e me envie um email para eu avaliar novamente
\href{mailto:vrios81@gmail.com}{Vitor Rios}


 --- \emph{\href{mailto:aleadalardo@gmail.com}{Alexandre Adalardo de Oliveira} 2018/05/17 17:07}
Caro Marcos, realmente a falta de um pseudocódigo dificulta o entendimento do que a função fará e a dificuldade de implementação de código associada. Sugiro fortemente que comece por isso. Poste aqui para podermos avaliar, vai ajudar o desenvolvimento da função. Há necessidade tb de esclarecer melhor a terminologia utilizada. A descrição que faz dos argumentos não facilita tb o entendimento. Por exemplo, o que são ,,elementos de interesse"... eu conversei contigo pessoalmente e por isso estou entendendo melhor. Aguardamos o seu retorno, principalmente com relação ao pseudocódigo da proposta A, que me parece mais promissora.

\end{document}
