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


\begin{itemize}
  \item Tutorial
  \item  Exercícios
  \item  Apostila 
\end{itemize}


\section{\texorpdfstring{4. Análise Exploratória de Dados}{4 Analise Exploratoria de Dados}}
\label{sec:4_analise_exploratoria_de_dados}


Podemos pensar a análise exploratório de dados de duas formas:
\begin{itemize}
  \item análise numérica:  computa estatísticas descritivas;
  \item análise gráfica: explora o comportamento e a relação entre as variáveis através de gráficos.
\end{itemize}


Nesse tópico utlizaremos os arquivos de dados:
\begin{itemize}
  \item  Levantamento em caixetais: \href{media/dados/caixeta.csv}{caixeta.csv}
  \item  Dados de biomassa de árvores: \href{media/dados/esaligna.csv}{esaligna.csv}
  \item  Inventário em florestas plantadas:\href{media/dados/egrandis.csv}{egrandis.csv }
\end{itemize}


\subsection{\texorpdfstring{Estatísticas Descritivas}{Estatisticas Descritivas}}
\label{sec:estatisticas_descritivas}


A forma mais direta de se obter um resumo estatístico das variáveis num \texttt{'data.frame}' é através da função \texttt{'summary}'.  Ela apresenta estatísticas descritivas para as variáveis numéricas.\lstset{frame=single}
\begin{lstlisting}

> cax = read.csv("caixeta.csv", header=TRUE, as.is=TRUE)
>
> summary(cax)
    local              parcela          arvore          fuste             cap               h
 Length:1027        Min.   :1.000   Min.   :  1.0   Min.   : 1.000   Min.   :  20.0   Min.   :  5.00
 Class :character   1st Qu.:2.000   1st Qu.: 51.0   1st Qu.: 1.000   1st Qu.: 190.0   1st Qu.: 60.00
 Mode  :character   Median :3.000   Median : 99.0   Median : 1.000   Median : 270.0   Median : 90.00
                    Mean   :2.821   Mean   :108.5   Mean   : 1.711   Mean   : 299.7   Mean   : 90.28
                    3rd Qu.:4.000   3rd Qu.:159.0   3rd Qu.: 2.000   3rd Qu.: 360.0   3rd Qu.:110.00
                    Max.   :5.000   Max.   :291.0   Max.   :11.000   Max.   :2100.0   Max.   :480.00
   especie
 Length:1027
 Class :character
 Mode  :character



>                                                                                     
\end{lstlisting}



Outras estatísticas devem ser calculadas individualmente pelo analista:\lstset{frame=single}
\begin{lstlisting}

> resumo1 = aggregate( cax[ , c("cap","h")], list(local=cax$local), mean )
> resumo2 = aggregate( cax[ , c("cap","h")], list(local=cax$local), sd )
>
> resumo = merge( resumo1, resumo2, by="local", suffixes=c(".mean",".sd") )
> resumo
   local cap.mean    h.mean   cap.sd     h.sd
1 chauas 293.6385  89.60094 139.8761 37.00023
2 jureia 404.4813 109.70954 213.8512 31.68068
3 retiro 236.5972  78.08333 137.2203 30.46426
\end{lstlisting}



\paragraph{\texorpdfstring{Exercícios}{Exercicios}}
\label{sec:exercicios}
 \emph{\textbf{Exercício:}  Estatísticas do Caixetal} 
Construa um \texttt{'data.frame}' com os dados de \textbf{área basal} por \texttt{'local}' e \texttt{'parcela}'.

Encontre a média e desvio padrão da área basal por \texttt{'local}'.

Calcule o intervalo de confiança de 95\% da área basal por \texttt{'local}'.

\subsection{\texorpdfstring{Analisando a Distribuição das Variáveis: Gráficos Univariados}{Analisando a Distribuiao das Variaveis Graficos Univariados}}
\label{sec:analisando_a_distribuiao_das_variaveis_graficos_univariados}


\subsubsection{\texorpdfstring{Histogramas}{Histogramas}}
\label{sec:histogramas}


A primeira abordagem ao se estudar a distribuição de uma variável é o uso de \textbf{histogramas}:\lstset{frame=single}
\begin{lstlisting}

> cax$dap = (pi/4)* (cax$cap/10)
> hist( cax$dap )
> hist( cax$dap[ cax$local == "chauas" ] )
> hist( cax$dap[ cax$local == "jureia" ] )
> hist( cax$dap[ cax$local == "retiro" ] )
\end{lstlisting}



A função \texttt{'hist}' também pode fornecer os dados do histograma, sem gerar o histograma propriamente dito:\lstset{frame=single}
\begin{lstlisting}

> hist( cax$dap, plot=FALSE )
$breaks
 [1]   0  10  20  30  40  50  60  70  80  90 100 110 120 130 140 150 160 170

$counts
 [1]  72 408 329 116  62  20  10   3   4   1   1   0   0   0   0   0   1

$intensities
 [1] 7.010709e-03 3.972736e-02 3.203505e-02 1.129503e-02 6.037001e-03
 [6] 1.947420e-03 9.737098e-04 2.921130e-04 3.894839e-04 9.737098e-05
[11] 9.737098e-05 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00
[16] 0.000000e+00 9.737098e-05

$density
 [1] 7.010709e-03 3.972736e-02 3.203505e-02 1.129503e-02 6.037001e-03
 [6] 1.947420e-03 9.737098e-04 2.921130e-04 3.894839e-04 9.737098e-05
[11] 9.737098e-05 0.000000e+00 0.000000e+00 0.000000e+00 0.000000e+00
[16] 0.000000e+00 9.737098e-05

$mids
 [1]   5  15  25  35  45  55  65  75  85  95 105 115 125 135 145 155 165

$xname
[1] "cax$dap"

$equidist
[1] TRUE

attr(,"class")
[1] "histogram"
>
\end{lstlisting}



Note  que o objeto gerado pela função \texttt{'hist}' tem classes \texttt{'histogram}', logo pode ser guardado e grafado posteriormente:\lstset{frame=single}
\begin{lstlisting}

> dap.hist = hist( cax$dap, plot=FALSE )
> class(dap.hist)
[1] "histogram"
>
> plot(dap.hist)
\end{lstlisting}



Alguns parâmetros gráficos podem tornar o gráfico mais apresentável.  Esses parâmetros gráficos pode ser utilizados como \emph{argumentos} em diversas funções gráficas onde são pertinentes:
\begin{itemize}
  \item  \texttt{'xlab}' e \texttt{'ylab}' = nomes dos eixos X e Y, respectivamente;
  \item \texttt{'main}' = nome do título do histograma; 
  \item  \texttt{'col}' = cor da barra (histograma), ou de linhas e símbolos plotados;
\end{itemize}
\lstset{frame=single}
\begin{lstlisting}

> hist( cax$dap[ cax$local=="chauas" ],
+ xlab="Diâmetro à Altura do Peito - DAP (cm)",
+ ylab="Freqüência",
+ main="Histograma DAP - Chauás",
+ col = "blue" )
>
\end{lstlisting}



Muitas vêzes desejamos comparar gráficos, sendo útil termos mais de uma janela gráfica.  A função \texttt{'X11()}' (no UNIX) abre uma janela gráfica,
sendo que podemos abrir várias:\lstset{frame=single}
\begin{lstlisting}

> hist( cax$dap[ cax$local=="chauas" ] , main="Chauás" )
> X11()
> hist( cax$dap[ cax$local=="jureia" ] , main="Juréia" )
> X11()
> hist( cax$dap[ cax$local=="retiro" ] , main="Retiro" )
>
> dev.off()
X11
  2
> dev.off()
X11
  3
>    
\end{lstlisting}



A função \texttt{'dev.off()}' fecha uma janela gráfica e faz parte de um conjunto de funções que manipula as janelas gráficas.  Nessa manipulação, somente uma janela gráfica pode estar \texttt{'ACTIVE}' de cada vez, e as janelas são consideradas como estando num círculo, onde podemos passar de uma para outra:
\begin{itemize}
  \item \texttt{'dev.off()}' - fecha a janela gráfica;
  \item \texttt{'dev.cur()}' - diz qual janela gráfica está \texttt{'ACTIVE}';
  \item \texttt{'dev.set(which=dev.cur())}' - define qual janela deverá ficar ativa, o argumento \texttt{'which}' deve ser o número da janela; 
  \item \texttt{'dev.next(which=dev.cur())}' - informa o número da próxima janela gráfica;
  \item \texttt{'dev.prev(which=dev.cur())}' - informa o número da janela gráfica anterior;
  \item \texttt{'graphics.off()}' - fecha todas as janelas gráficas.
\end{itemize}
\lstset{frame=single}
\begin{lstlisting}

> X11()
> hist( cax$dap[ cax$local=="retiro" ] , main="Retiro" )
> X11()
> hist( cax$dap[ cax$local=="jureia" ] , main="Juréia" )
> dev.cur()
X11
  3
> dev.set(2)
X11
  2
> hist( cax$dap[ cax$local=="retiro" ] , main="Retiro" , col="blue")
> dev.set(3)
X11
  3
> hist( cax$dap[ cax$local=="jureia" ] , main="Juréia" , col="green")
>
> graphics.off()
>
\end{lstlisting}



\paragraph{\texorpdfstring{Exercício}{Exercicio}}
\label{sec:exercicio}
 \emph{\textbf{Exercício:} Altura de Árvores em Caixetais I } 
Construa um histograma da altura das árvores do caixetal.

Construa histogramas da altura das árvores para os diferentes caixetais (\texttt{'local}').

Há diferenças entre as estruturas (distribuição de tamanhos) dos caixetais? \emph{\textbf{Exercício:} Diâmetros de Árvores de Eucalipto} 
Construa um histogram do DAP das árvores de \emph{E. saligna}.  Procure interpretar o histograma.


\subsubsection{\texorpdfstring{Gráficos de Densidade}{Graficos de Densidade}}
\label{sec:graficos_de_densidade}


Uma outra forma de explorar a distribuição de uma variável é trabalharmos com um gráfico de \emph{densidade}.  O gráfico de densidade é gerado como se fosse um histograma com uma classe móvel, isto é, a classe que tem uma certa amplitude, se move da esquerda para direita e em cada ponto estima a \emph{densidade probabilística da variável}.    Tecnicamente, a função \texttt{'density}' é um \textbf{estimador de densidade de kernel gaussiano}.

A função \texttt{'density}' faz a análise da densidade, mas não faz o gráfico, devendo ser utilizada juntamente com a função \texttt{'plot}',
para criar o gráfico, ou a função \texttt{'lines}', para adicionar uma linha a um gráfico já criado:\lstset{frame=single}
\begin{lstlisting}

> plot( density(cax$dap) )
>
\end{lstlisting}



O parâmetro que controla o comportamento do estimador de densidade é a amplitude da janela de observação \emph{bandwidth} (\texttt{'bw}').  Janela pequenas, geram estimativas de densidade com viés pequeno, mas com variância grande. Janelas grandes geram estimativas de densidade com viés grande, mas pequena variância. O ideal é o equilíbrio entre os extremos e o R possui algumas funções que buscam automaticamente da \emph{bandwidth} apropriada, mas o analista tem controle sobre esse parâmetro:\lstset{frame=single}
\begin{lstlisting}

> plot( density(cax$dap, bw=0.5), col="red" )
> lines( density(cax$dap, bw=5), col="blue" )
> lines( density(cax$dap, bw=1.5), col="green" )
>
\end{lstlisting}



\paragraph{\texorpdfstring{Exercícios}{Exercicios}}
\label{sec:exercicios2}
 \emph{\textbf{Exercício:} Distribuição de DAP nos Caixetais} 
Realize uma análise de densidade do DAP para cada um dos caixetais.  Os resultados confirmam o que foi visto nos histogramas?


\subsubsection{\texorpdfstring{Boxplot}{Boxplot}}
\label{sec:boxplot}


\textbf{Boxplot} é um gráfico estatístico também utilizado para estudar o comportamento de variáveis.  Ele é composto dos elementos:
\begin{itemize}
  \item Uma caixa (\emph{box}) que representa a região entre o primeiro e o terceiro quartis (quantis 25\% e 75\%), ou seja, 50\% dos dados estão dentro da caixa.
  \item Uma linha dentro da caixa que representa a posição da mediana (segundo quartil ou quantil 50\%).
  \item Linhas que se prolongam a partir da caixa até no máximo 1,5 vêzes a distância interquartil (diferença entre o 1o. e 3o. quartis).
  \item As observações que passarem essa distância são representadas individualmente por pontos.
\end{itemize}
\lstset{frame=single}
\begin{lstlisting}

>de uma distribuição boxplot( cax$dap )
>
> esa = read.csv("dados/esaligna.csv",header=TRUE)
> boxplot( esa$dap )
>
\end{lstlisting}



O \textbf{boxplot} é útil para analisar a \emph{simetria} de uma distribuição, o \emph{espalhamento} das observações  e a presença de observações discrepantes.
Ele é problemático quando a variável analisada não é \textbf{unimodal}.   Ele também é uma ferramenta útil para comparar distribuições, isso é realizado
quando desejamos um \textbf{boxplot} para cada situação:\lstset{frame=single}
\begin{lstlisting}

> boxplot( dap ~ local, data=cax )
>
\end{lstlisting}



Note que o primeiro argumento da função \texttt{'boxplot}' não é um vetor nesse caso:\lstset{frame=single}
\begin{lstlisting}

> class( dap ~ local )
[1] "formula"
> 
\end{lstlisting}



O primeiro argumento é uma \texttt{'formula}' estatística onde o símbolo \textbf{\textasciitilde{}} tem um significado especial. 

A fórmula \texttt{'dap \textasciitilde{} local}' deve ser lida como: \emph{modele a variável} \texttt{dap} \emph{como função da variável} \texttt{local}.

O argumento \texttt{'data}' informa em qual \texttt{'data.frame}' estão as variáveis citadas na fórmula e é um argumento essencial toda vez que se utiliza uma fórmula.

A utilização da fórmula permite a construção de gráficos mais complexos, pensando na \textbf{interação} entre dois fatores influenciando a variável DAP:\lstset{frame=single}
\begin{lstlisting}

> boxplot( dap ~ local * parcela, data=cax)
>
\end{lstlisting}



Mas os gráficos no R podem ficar realmente \emph{sofisticados}, mas é necessário um pouco mais de programação:\lstset{frame=single}
\begin{lstlisting}

> boxname = paste( sort(rep(unique(cax$local),5)), rep(1:5,3) )
> boxcor = sort(rep(c("navy","darkgreen","salmon1"),5))
> boxplot( dap ~ local * parcela, data=cax , names=boxname, col=boxcor, horizontal=T, las=1, xlab="DAP (cm)")
> 
\end{lstlisting}



\paragraph{\texorpdfstring{Exercícios}{Exercicios}}
\label{sec:exercicios3}
 \emph{\textbf{Exercício:} Altura de Árvores em Caixetais II } 
Utilize o gráfico boxplot para analisar a altura das árvores em caixetais.
 \emph{\textbf{Exercício:} Estrutura de Eucaliptais } 
Utilize o gráfico boxplot para analisar o DAP de árvores de \emph{E. grandis} em função das variáveis região (\texttt{'regiao}') e rotação (\texttt{'rot}').


\subsubsection{\texorpdfstring{Gráficos Quantil-Quantil}{Graficos QuantilQuantil}}
\label{sec:graficos_quantilquantil}


Gráficos Quantil-Quantil também são uma forma de estudar o comportamento de variáveis, mas utilizando as propriedades que emergem de uma variável quando trabalhamos com os seus quantis.

O gráfico quantil-quantil mais tradicional é aquele usado para verificar se uma variável possui distribuição Normal.  No R isso é realizado com a função \texttt{'qqnorm}', associada à função \texttt{'qqline}' que adiciona uma linha ao gráfico:\lstset{frame=single}
\begin{lstlisting}

> qqnorm( cax$dap )
> qqline( cax$dap )
> 
\end{lstlisting}



A idéia central do gráfico quantil-quantil é a seguinte: quando um variável segue uma dada distribuição (como a distribuição Normal) os \textbf{quantis empíricos}, isto é, calculados a partir de uma amostra, formam uma linha reta contra os \textbf{quantis teóricos}, calculados a partir das estimativas dos parâmetros da distribuição (no caso da Normal: média e desvio padrão). 

É isso que a função \texttt{'qqnorm}' faz para distribuição Normal:\lstset{frame=single}
\begin{lstlisting}

> vn1 = rnorm( 10000 )
> qqnorm( vn1 )
> qqline( vn1 )
>
> ve1 = rexp( 100000 )
> qqnorm( ve1 )
> qqline( ve1 )
>
> ve2 = apply( matrix(ve1, ncol=100), 1, mean)
> qqnorm( ve2 )
> qqline( ve2 )
> 
\end{lstlisting}



Também é possível comparar duas distribuições a partir dos \textbf{quantis empíricos}:\lstset{frame=single}
\begin{lstlisting}

> qqplot( cax$dap[ cax$local=="retiro" ], cax$dap[ cax$local=="jureia" ] )
> abline( 0, 1, col="red" )
>
> a = min( cax$dap[ cax$local=="jureia" ] )
> abline( a, 1, col="navy" )
> 
\end{lstlisting}



\textbf{Nota:} a função \texttt{'abline( a, b)}' adiciona a um gráfico um reta com intercepto \emph{a} e inclinação \emph{b}.

\paragraph{\texorpdfstring{Exercícios}{Exercicios}}
\label{sec:exercicios4}
 \emph{\textbf{Exercício:} Inventário em Floresta Plantada } 
Verifique se as variáveis quantitativas obtidas no inventário de florestas plantadas tem distribuição Normal: \texttt{'dap}', \texttt{'ht}' e \texttt{'hdom}'.
 \emph{\textbf{Exercício:} Altura de Árvores em Caixetais III } 
Verifique se a distribuição da altura das árvores tem o mesmo comportamento nos diferentes caixetais.


\subsubsection{\texorpdfstring{Gráfico de Variável Quantitativa por Classes}{Grafico de Variavel Quantitativa por Classes}}
\label{sec:grafico_de_variavel_quantitativa_por_classes}


A maneira clássica de se apresentar uma variável quantitativa associada a uma classe é o famoso gráfico de barras.

Vejamos um exemplo comum em \emph{fitossociologia} que é apresentar a densidade relativa das espécies:\lstset{frame=single}
\begin{lstlisting}

> da = table( cax$especie[ cax$local=="jureia" ] )
> da = sort(da, decreasing=TRUE )
> dr = da/sum(da) * 100
\end{lstlisting}



Para obter o gráfico de barras basta usar a função \texttt{'barplot}':\lstset{frame=single}
\begin{lstlisting}

> barplot( dr )
\end{lstlisting}



O resultado não é muito apropriado para interpretações, mas podemos fazer algumas melhoras:\lstset{frame=single}
\begin{lstlisting}

> barplot( dr , xlab="Densidade Relativa (%)", horiz=T, las=1)
\end{lstlisting}



O nome das espécies precisam de mais espaço. É possível alterar o espaço trabalhando os parâmetros da função \texttt{'par}' que controla todos os parâmetros gráficos de uma janela gráfica.  
Nesse caso, o parâmetro \texttt{'omd=c(x1,x2,y1,y2)}' define o início e final da região de plotagem em termos relativos.  O valor \emph{default} é \texttt{'omd=c(0, 1, 0, 1)}'. \lstset{frame=single}
\begin{lstlisting}

> par( omd=c(0.2,1,0,1) )
> barplot( dr , xlab="Densidade Relativa (%)", horiz=T, las=1)
> 
\end{lstlisting}



Na verdade, o gráfico de barras não é um gráfico muito apropriado para o que se propõe, apesar do uso generalizado que se faz dele na comunidade científica.

No gráfico de barras, somos levados a comparar o comprimento das barras para estabelecer um julgamento entre as categorias.  No gráfico de densidade relativa, compararmos os comprimentos de barra para obter uma visão das densidades relativas das espécies.

Existe no R, um gráfico que faz a mesma coisa de modo muito mais simples e direto:\lstset{frame=single}
\begin{lstlisting}

> par( omd=c(0,1,0,1) )     # Primeiro é necessário re-estabelecer o parâmetro omd
> 
> dotchart( dr )
>
\end{lstlisting}



No \texttt{'dotchart}', somos levados a comparar a posição relativa dos pontos, e a relação entre as categorias fica muito mais rápida e direta.

Como nessa floresta a \emph{Tabebuia cassinoides} (caixeta) é a espécie dominante, é interessantes fazer o gráfico na escala logarítmica para enfatizar a diferença entre as outras espécies:\lstset{frame=single}
\begin{lstlisting}

> dotchart( log(dr), xlab="Logaritmo Natural da Densidade Relativa (%)")
\end{lstlisting}



\paragraph{\texorpdfstring{Exercícios}{Exercicios}}
\label{sec:exercicios5}
 \emph{\textbf{Exercício:} Dominância em Caixetais} 
Construa um gráfico da dominância das espécies nos caixetais.
 \emph{\textbf{Exercício:} Inventário em Floresta Plantada } 
Utilizando a função \texttt{'dotchart}' investigue o número de árvores no inventário em função da região (\texttt{'regiao}') e rotação (\texttt{'rot}').


\subsection{\texorpdfstring{Análise Gráfica: Relação entre Variáveis}{Analise Grafica Relaao entre Variaveis}}
\label{sec:analise_grafica_relaao_entre_variaveis}


\subsubsection{\texorpdfstring{Gráfico de Dispersão}{Grafico de Dispersao}}
\label{sec:grafico_de_dispersao}


Os gráficos de dispersão (ou gráficos x-y) são os gráficos mais utilizados para estudar a relação entre duas variáveis.

A função genérica no R para gráficos de dispersão é a função \texttt{'plot}':\lstset{frame=single}
\begin{lstlisting}

> plot( x = cax$dap, y = cax$h )
\end{lstlisting}



Na função \texttt{'plot}', o primeiro argumento é plotado nas \emph{abscissas} (eixo-x) e o segundo argumento nas \emph{ordenadas} (eixo-y). 

Ao investigar a relação entre duas variáveis, freqüentemente a densidade de pontos no gráfico torna o julgamento da relação problemática, pois é muito difícil considerar a variação da densidade ao se julgar a relação no gráfico de dispersão.  

Há no R uma função adicional que auxilia o julgamento adicionando ao gráfico de dispersão uma linha não-paramétrica de tendência (\textbf{smooth} ou suavização):\lstset{frame=single}
\begin{lstlisting}

> scatter.smooth( cax$dap, cax$h , col="red")
\end{lstlisting}



Uma série de parâmetros gráficos podem ser utilizados diretamente nas funções \texttt{'plot}' e \texttt{'scatter.smooth}':\lstset{frame=single}
\begin{lstlisting}

> scatter.smooth( cax$dap, cax$h , col="red", xlab="DAP (cm)", ylab="Altura (dm)", main="Caixetais")
> scatter.smooth( cax$dap, cax$h , col="red", xlab="DAP (cm)", ylab="Altura (dm)", log="x")
> scatter.smooth( cax$dap, cax$h , col="red", xlab="DAP (cm)", ylab="Altura (dm)", log="y")
> scatter.smooth( cax$dap, cax$h , col="red", xlab="DAP (cm)", ylab="Altura (dm)", log="xy")
\end{lstlisting}



O R também permite um certo grau de \textbf{interação} com gráficos de dispersão.  Uma delas é a identificação de observações no gráfico:\lstset{frame=single}
\begin{lstlisting}

> scatter.smooth( cax$dap, cax$h )
> dim( cax )
[1] 1027    8
> identify( cax$dap, cax$h, 1:1027 )
[1] 362 556 557
> 
>
> cax[ c(362, 556, 557), ]
     local parcela arvore fuste  cap   h                  especie       dap
362 chauas       5    232     1  130 480     Tabebuia cassinoides  10.21018
556 jureia       4    105     1 1400 100     Tabebuia cassinoides 109.95574
557 jureia       4    106     1 2100 160 Calophyllum brasiliensis 164.93361
>
\end{lstlisting}



A função \texttt{'identify}' atua sobre um gráfico produzido (plot) e possui três argumentos.  Os dois primeiros são os mesmos argumentos que geraram o gráfico.  O terceiro argumento é uma variável de identificação.  No exemplo acima a variável de identificação é o índice que identifica a observação (linha do \texttt{data.frame}).

Ao executar a função \texttt{'identify}', o R entra num modo interativo com o gráfico.  Ao posicionar o \emph{mouse} sobre uma observação no gráfico e pressionar o \textbf{botão esquerdo}, o R identifica a observação.  É possível identificar tantas observações quanto se desejar.  Para sair do modo interativo, pressiona-se o \textbf{botão direito} do \emph{mouse}.

No exemplo acima, as três observações discrepantes do gráfico parecem de fato muito erradas.Assim, podemos eliminá-las e continuar o estudo da relação:\lstset{frame=single}
\begin{lstlisting}

> cax2 = cax[ -c(362, 556, 557), ]
> scatter.smooth( cax2$dap, cax2$h , col="red" )
\end{lstlisting}



Também na função \texttt{'plot}' é possível se utilizar como argumento inicial uma \texttt{'formula}', seguida do \texttt{data.frame} que contem as variáveis:\lstset{frame=single}
\begin{lstlisting}

> plot( h ~ dap, data=cax2 )
\end{lstlisting}



Nesse caso, para adicionar a linha não-paramétrica de tendência é necessário um segundo comando:\lstset{frame=single}
\begin{lstlisting}

> plot( h ~ dap, data=cax2 )
> lines( lowess( cax2$dap, cax2$h ) , col="red")
\end{lstlisting}



O uso da \texttt{formula} permite a utilização da função \texttt{'coplot}' para formação de gráficos de dispersão em função de variáveis categóricas:\lstset{frame=single}
\begin{lstlisting}

> coplot( h ~ dap | local , data=cax2 )
> coplot( h ~ dap | local*parcela , data=cax2 )
\end{lstlisting}



Também é possível adicionar uma linha de tendência em cada gráfico gerado pela função \texttt{'coplot}':\lstset{frame=single}
\begin{lstlisting}

> coplot( h ~ dap | local , data=cax2 , panel= panel.smooth)
> coplot( h ~ dap | local*parcela , data=cax2 , panel=panel.smooth)
\end{lstlisting}



Na \texttt{formula} acima, surgiram elementos novos:
\begin{itemize}
  \item A barra vertical indica uma situação condicional, no caso fazer um gráfico de dispersão para cada \texttt{local}.
  \item O asterísco (\texttt{*}) indica \textbf{interação}, no caso o gráfico de dispersão é realizado para cada interação entre as variáveis  \texttt{local} e \texttt{parcela}.
\end{itemize}


A função \texttt{'coplot}' atua de forma diferente, se as variáveis que classificam o gráfico de dispersão são variáveis categóricas (\texttt{'factor}') ou numéricas (\texttt{'numeric}'):\lstset{frame=single}
\begin{lstlisting}

> egr = read.table("dados/egrandis.csv",header=TRUE,sep=";")
> coplot( ht ~ dap | idade, data=egr, panel = panel.smooth )
> coplot( ht ~ dap | idade * rot , data=egr, panel = panel.smooth )
> coplot( ht ~ dap | idade * as.factor(rot) , data=egr, panel = panel.smooth )
\end{lstlisting}



\paragraph{\texorpdfstring{Exercícios}{Exercicios}}
\label{sec:exercicios6}
 \emph{\textbf{Exercício:} Relação Hipsométrica da Caixeta } 
Analise a relação dap-altura (\texttt{'dap}' e \texttt{'h}') em função do caixetal, mas \textbf{somente} para as árvores de caixeta (\emph{Tabebuia cassinoides}).
 \emph{\textbf{Exercício:} Inventário em Floresta Plantada II } 
Analise a relação entre as variáveis \texttt{'hdom}' (altura das árvores dominantes) e \texttt{'dap}' para diferentes regiões (\texttt{'regiao}') e rotações (\texttt{'rot}').


\subsubsection{\texorpdfstring{Painel de Gráficos de Dispersão}{Painel de Graficos de Dispersao}}
\label{sec:painel_de_graficos_de_dispersao}


Quando o objetivo é explorar a relação entre variáveis quantitativas com o objetivo de construir modelos ou analisar a estrutura de correlação é útil poder fazer gráficos de dispersão das variáveis duas-a-duas.  A função \textbf{pairs} realiza essa operação automaticamente:\lstset{frame=single}
\begin{lstlisting}

> pairs( egr[ , c("dap","ht","hdom","idade")] )
\end{lstlisting}



Sempre é possível sofisticar os gráficos.  No exemplo abaixo o painel apresenta a relação entre as variáveis quantitativas utilizando cores para mostrar as variáveis região e rotação:\lstset{frame=single}
\begin{lstlisting}


> pairs( egr[ , c("dap","ht","hdom","idade")] , pch=21, bg=c("red","blue","green")[unclass(egr$regiao)] )
> pairs( egr[ , c("dap","ht","hdom","idade")] , pch=21, bg=c("red","green")[unclass(egr$rot)] )

\end{lstlisting}



\paragraph{\texorpdfstring{Exercícios}{Exercicios}}
\label{sec:exercicios7}
 \emph{\textbf{Exercício:} Biomassa de Árvores de Eucalipto } 
Analise a relação entre as variáveis quantitativas do conjunto de dados sobre biomassa das árvores de \emph{E. saligna}.

Qual a influência da variável classe (\texttt{'classe}') sobre a relação entre as variáveis?

\subsection{\texorpdfstring{Gráficos em Painel: O Pacote Lattice}{Graficos em Painel O Pacote Lattice}}
\label{sec:graficos_em_painel_o_pacote_lattice}


Para ampliar a capacidade de análise gráfica exploratória e mesmo \emph{modelagem gráfica} dos dados, existe no R o pacote \textbf{lattice}.  Para carregar o pacote usa-se o comando:\lstset{frame=single}
\begin{lstlisting}

> library(lattice)
\end{lstlisting}



O pacote \textbf{lattice} oferece uma série de funções análogas às funções gráficas do R, mas permite a construção de \textbf{paineis}.  Um painel é um série de gráficos de mesmo tipo (dispersão, histograma, etc.) colocados lado-a-lado acompanhando uma variável categórica ou quantitativa.

\subsubsection{\texorpdfstring{Gráficos de Dispersão}{Graficos de Dispersao}}
\label{sec:graficos_de_dispersao}


Para construir gráficos de dispersão no lattice usa-se a função \textbf{xyplot}:\lstset{frame=single}
\begin{lstlisting}

> egr = read.csv("egrandis.csv",header=T)
> xyplot( ht ~ dap, data=egr )
\end{lstlisting}



Note que no lattice, os gráficos são construídos com base em fórmulas.  Essas fórmulas permitem estrutura mais complexas de análise:\lstset{frame=single}
\begin{lstlisting}

> xyplot( ht ~ dap | regiao , data=egr )
> xyplot( ht ~ dap | regiao * rot , data=egr )
\end{lstlisting}



Também é possível construir gráficos com suavização:\lstset{frame=single}
\begin{lstlisting}

> xyplot( ht ~ dap | regiao * rot , data=egr,
+ panel = function(x,y)
+ {
+         panel.xyplot(x,y)
+         panel.loess(x,y, span=1, col="red")
+ } )
>   
\end{lstlisting}



\paragraph{\texorpdfstring{Exercícios}{Exercicios}}
\label{sec:exercicios8}
 \emph{\textbf{Exercício:} Relação Hipsométrica da Caixeta II } 
Utilizando o pacote lattice, analise a relação dap-altura (\texttt{'dap}' e \texttt{'h}') em função do caixetal, mas \textbf{somente} para as árvores de caixeta (\emph{Tabebuia cassinoides}).
 \emph{\textbf{Exercício:} Relação Altura das Dominantes - Idade em Florestas Plantadas } 
Utilizando os dados de floresta plantada (\emph{E. grandis}), analise a relação entre altura das árvores dominantes (\texttt{'hdom}') e idade (\texttt{'idade}') por rotação (\texttt{'rot}') e região (\texttt{'regiao}').


\subsubsection{\texorpdfstring{Painel de Gráficos de Dispersão}{Painel de Graficos de Dispersao}}
\label{sec:painel_de_graficos_de_dispersao2}


O pacote lattice também possui uma função específica para fazer um painel de gráficos de dispersão: \textbf{splom} (\emph{scatter plot}):\lstset{frame=single}
\begin{lstlisting}

> splom( egr[ , c("dap","ht","hdom","idade")]  )
\end{lstlisting}



Identificar grupos em cada gráfico de dispersão é mais fácil com a função \textbf{splom}, basta utilizar o argumento \texttt{'group}':\lstset{frame=single}
\begin{lstlisting}

> splom( egr[ , c("dap","ht","hdom","idade")] , group=egr$regiao )
> splom( egr[ , c("dap","ht","hdom","idade")] , group=egr$rot )
\end{lstlisting}



Também é possível adicionar uma \emph{linha de suavização}, mas é necessário definir a função de painel (argumento \texttt{'painel}'):\lstset{frame=single}
\begin{lstlisting}

> splom( egr[ , c("dap","ht","hdom","idade")] , group=egr$regiao,
+ panel = function(x,y,...)
+ {
+     panel.splom(x,y,...)
+     panel.loess(x,y,...)
+ }
+ )
>    
\end{lstlisting}



A função \textbf{panel.loess} é a função que efetivamente faz a suavização em cada gráfico de dispersão.

\paragraph{\texorpdfstring{Exercícios}{Exercicios}}
\label{sec:exercicios9}
 \emph{\textbf{Exercício:} Biomassa de Árvores de Eucalipto } 
Analise a relação entre as variáveis quantitativas dos dados de biomassa de \emph{E. saligna} utilizando a função \textbf{splom}.  Inclua na sua análise a variável \texttt{'classe}'.


\subsubsection{\texorpdfstring{Histogramas e Gráficos de Densidade}{Histogramas e Graficos de Densidade}}
\label{sec:histogramas_e_graficos_de_densidade}


No lattice, todos os tipos de gráficos podem ser construídos na forma de painel.  Para estudar a distribuição de variáveis temos a função \textbf{histogram} e \textbf{densityplot}:\lstset{frame=single}
\begin{lstlisting}

> cax = read.csv("caixeta.csv",header=T)
> cax$dap = cax$cap / pi
>
> histogram( ~ dap, data=cax )
> histogram( ~ dap | local , data=cax )
>
> densityplot( ~ dap, data=cax )
> densityplot( ~ dap | local , data=cax )
\end{lstlisting}



Também é possível construir um histograma com linhas de densidade, para isso o tipo do histograma deve ser definido como \texttt{'density}':\lstset{frame=single}
\begin{lstlisting}

> histogram( ~ ht | regiao * rot , dat=egr, type="density",
+     panel = function(x, ...){
+             panel.histogram(x, ...)
+             panel.densityplot(x, col="red", ...)
+     }
+ )
\end{lstlisting}



As funções de histograma e densidade podem se tornar mais complexas.  No exemplo abaixo, uma curva de densidade assumindo a distribuição Normal é adicionada aos histogramas, os quais são construídos com a densidade nas ordenadas:\lstset{frame=single}
\begin{lstlisting}

> histogram( ~ ht | regiao * rot , dat=egr, type="density",
+     panel = function(x, ...){
+           panel.histogram(x, ...)
+           panel.mathdensity(dmath=dnorm, col="black", args=list(mean=mean(x),sd=sd(x)))
+     }
+ )
\end{lstlisting}



\paragraph{\texorpdfstring{Exercícios}{Exercicios}}
\label{sec:exercicios10}
 \emph{\textbf{Exercício:} Altura das Árvores Dominantes em Florestas Plantadas }
Explore o comportamento da variável altura das árvores dominantes (\texttt{'hdom}') por região (\texttt{'regiao}') e rotação (\texttt{'rot}') na floresta plantada de \emph{E. grandis}.
 \emph{\textbf{Exercício:} Altura de Árvores de Caixeta }
Analise o comportamento da variável altura (\texttt{'h}') das árvores de caixeta.


\subsubsection{\texorpdfstring{Gráficos Quantil-Quantil}{Graficos QuantilQuantil}}
\label{sec:graficos_quantilquantil2}


O pacote \textbf{lattice} implementa a construção de gráficos sempre através de fórmulas, isso pode ser conveniente
no caso de se verificar a distribuição de uma variável em várias situações:\lstset{frame=single}
\begin{lstlisting}

> qqmath( ~ dap | local, data=cax )
\end{lstlisting}



Para adicionar a linha do gráfico qq é necessário editar a função de painel:\lstset{frame=single}
\begin{lstlisting}

> qqmath( ~ dap | local, data=cax,
+     panel = function(x, ...)
+    {
+       panel.qqmath(x, ...)
+       panel.qqmathline(x, ...)
+    }
+ )
\end{lstlisting}



Uma vantagem do pacote lattice é a possibilidade de gráficos quantil-quantil com outras distribuições além da
distribuição normal.  Nos gráficos abaixo, o DAP das árvores dos caixetais é comparada com a distribuição exponencial (\texttt{'qexp}').\lstset{frame=single}
\begin{lstlisting}

> qqmath( ~ dap | local , data=cax, distribution = function(p) qexp(p, 1/mean(x)) )
>
> qqmath( ~ dap | local , data=cax, distribution = function(p) qexp(p, 1/mean(x)),
+    panel = function(x,...)
+    {
+       panel.qqmath(x,...)
+       panel.qqmathline(x,...)
+    }
+ )
>
\end{lstlisting}



Também é possível fazer gráficos quantil-quantil de um conjuntos de dados empíricos usando a função \textbf{qq}:\lstset{frame=single}
\begin{lstlisting}

> qq( local ~ dap, data=cax, subset = ( local=="chauas" | local=="jureia" ) )
> qq( local ~ dap, data=cax, subset = ( local=="chauas" | local=="retiro" ) )
> qq( local ~ dap, data=cax, subset = ( local=="jureia" | local=="retiro" ) )
\end{lstlisting}



Dois aspectos devem ser notados no código acima:
\begin{enumerate}
  \item A variável \texttt{'local}' (categórica) aparece \textbf{à esquerda} do sinal de modelagem.
  \item O argumento \texttt{'subset}' faz com que a variável \texttt{'local}' fique com apenas duas categorias.
\end{enumerate}


\paragraph{\texorpdfstring{Exercícios}{Exercicios}}
\label{sec:exercicios11}
 \emph{\textbf{Exercício:} Altura das Árvores em Florestas Plantadas }
Verifique se a altura das árvores (\texttt{'ht}') nas florestas plantadas de \emph{E. grandis} segue distribuição Normal.

Faça uma análise geral e depois por região (\texttt{'regiao}') e rotação (\texttt{'rot}'). \emph{\textbf{Exercício:} Biomassa de Árvores de Eucalipto }
Verifique se biomassa total (\texttt{'total}') e a biomassa do tronco (\texttt{'tronco}') das árvores de \emph{E. saligna} possuem distribuição semelhante.   E a biomassa das folhas (\texttt{'folha}'), tem distribuição semelhante à biomassa do tronco?


\end{document}
