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



\textbf{FUNÇÃO PLOTAR}

\emph{\textbf{Código da Função}}\lstset{frame=single}
\begin{lstlisting}

plotar = function (x, variavel, periodo)
  
{
  library(Rmisc) 
  if(class(x)!="data.frame")    ## Caso o usuário insira um objeto que não pertença a classe "data.frame" será retornada uma    mensagem de aviso.
  {
    stop("o x deve ser da classe data frame")
  }
  x[x==""]<-NA             #Substitui as posições vazias por NA.
  x<-na.omit(x)            # Os NAs serão omitidos nos cálculos.
  
  # calcular as estatísticas descritivas dos dados usando a função summarise() 
   
  tab1<-summarySE(x, measurevar=colnames(x[2]), groupvars=(colnames(x[1])))
  tab2<-summarySE(x, measurevar=colnames(x[3]), groupvars=(colnames(x[1])))
  tabela<-list(tab1,tab2) ### agrupa os resultados em uma tabela
  
  # verificar a maior diferença entre as médias
  maior.dif = max (abs (tabela[[1]][,3] - tabela[[2]][,3]))  # calcular a maior diferença absoluta entre os tratamentos
  
  max.media = max (tabela[[1]][,3], tabela[[2]][,3])
  min.media = min (tabela[[1]][,3], tabela[[2]][,3]) # antes, verificar a maior média e a menor média, para construir um gráfico que 'caiba' tudo (automatizar o xlim e ylim)
  
  # agora sim, plotar 
   x11() ###abrir no dispositivo
   par(mar=c(9,4,5,9)) ##ajuste da margem
   par(cex.lab=1.2)    ##ajuste dos labels
   plot (tabela[[1]][,1], tabela[[1]][,3], ylim =c (min.media, max.media), xlab = "", ylab = variavel, pch=16, col="red", family="serif", tcl=0.4)
  par(new=T)
    plot (tabela[[2]][,1], tabela[[2]][,3], xaxt="n", yaxt="n",xlab="", ylab="", pch=17, col="blue",ylim = c (min.media, max.media), family="serif")
  # text (1, min.media, adj = 0, paste ("*Maior diferença: ", maior.dif, sep = ""), cex=0.8)
   mtext(side=3,text=paste ("* Maior diferença: ", maior.dif, sep = ""), cex=0.8)
    mtext(periodo,side=1,line=1.3, padj=2.5) 
  # as curvas dos tratamentos já estarão dentro dos limites do ylim anterior
  lines (tabela[[1]][,1], tabela[[1]][,3], lty=3,col="red")
  lines(tabela[[2]][,1], tabela[[2]][,3], lty=1,col="blue")
  ##Legenda : indexar o nome da coluna trat1 e trat2 e o text.
  legend("right",inset=c(-0.31,1),legend=c(colnames(tabela[[1]][3]), colnames(tabela[[2]][3])), pch=c(16,17), col=c("red","blue"), lty=c(3,1), bty="n",xpd=NA, horiz=F)
  return(tabela)
  
}
\end{lstlisting}



\emph{\textbf{Arquivo da Função}}

\href{media/bie5782/01_curso_atual/alunos/trabalho_final/osmarina.marinho/funcao_plotar.r}{funcao\_plotar.r}

\emph{\textbf{Help da Função}}\lstset{frame=single}
\begin{lstlisting}

plotar             package:nenhum                R Documentation

~~Função genérica de plotagem de dados temporais~~

Description:
Função usada para plotagem de dados temporais. A função compara dados( dois a dois),aponta a maior diferença entre elas no período observado e retorna um gráfico de linhas. Além disso, retorna uma tabela contendo : média, sd, se e ci para cada periodo observado.  
Usage:
 plotar(x, variavel, periodo)

Arguments:
x	    data.frame composto por 3 colunas de igual tamanho.
variavel    character - nome da escala dos valores do eixo y
periodo      character - nome da escala dos valores do eixo x 

Details:
A primeira coluna deve conter os intervalos de tempo e as demais devem conter os valores observados em cada intervalo de tempo.
A função requer a instalação do pacote("Rmisc").

Value:
A função plotar retorna um gráfico e uma tabela contendo os seguintes componentes:
Valores médios com:
s.d:desvio padrão dos componentes; s.e: erro padrão dos componentes; c.i: intervalo de confiança dos componentes.

Warnings:
A função aceita como objeto apenas objetos da classe "data.frame".

Note:
 ...

Author(s):
Osmarina Alves Marinho
contato: osmarina.marinho@usp.br

Reference:
Rocha EMP Da, Ferreira MAT (2001) Análise dos indicadores de inovação tecnológica no Brasil: comparação entre um grupo de empresas privatizadas e o grupo geral de empresas. Ciência da Informação, 30, 64-69.


See Also:
   ~~ pacote "Rmisc" para entender como funciona a função summariSE() ~~~

Examples:
exemplo = data.frame (mes= 1:3, Brasil =c(100,80,70,60,55,40), Colombia  = c(99,80,67,50,30,100))
plotar(exemplo, "PIB", "Anos").

\end{lstlisting}



\href{media/bie5782/01_curso_atual/alunos/trabalho_final/osmarina.marinho/help_da_funcao.txt}{help\_da\_funcao.txt}

\end{document}
