Ferramentas do usuário

Ferramentas do site


03_apostila:05-exploratoria

Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anterior Revisão anterior
Próxima revisão
Revisão anterior
03_apostila:05-exploratoria [2020/08/14 09:30]
adalardo [4. Análise Exploratória de Dados]
03_apostila:05-exploratoria [2023/08/15 21:45] (atual)
Linha 6: Linha 6:
 ====== 4. Análise Exploratória de Dados ====== ​ ====== 4. Análise Exploratória de Dados ====== ​
  
-Podemos pensar a análise exploratório de dados de duas formas: 
-  * análise numérica: ​ computa estatísticas descritivas;​ 
-  * análise gráfica: explora o comportamento e a relação entre as variáveis através de gráficos. 
  
-Nesse tópico ​utlizaremos ​os arquivos de dados:+Podemos conduzir a análise exploratória de dados de duas formas: 
 +  * análise numérica: computar estatísticas descritivas;​ 
 +  * análise gráfica: explorar o comportamento e a relação entre as variáveis através de gráficos. 
 + 
 +Nesse tópico ​utilizaremos ​os arquivos de dados:
   * [[dados:​dados-caixeta| Levantamento em caixetais:​]] {{dados:​caixeta.csv|caixeta.csv}}   * [[dados:​dados-caixeta| Levantamento em caixetais:​]] {{dados:​caixeta.csv|caixeta.csv}}
   * [[dados:​dados-esaligna| Dados de biomassa de árvores:]] {{:​dados:​esaligna.csv|esaligna.csv}}   * [[dados:​dados-esaligna| Dados de biomassa de árvores:]] {{:​dados:​esaligna.csv|esaligna.csv}}
Linha 24: Linha 25:
  
  
-A forma mais direta de se obter um resumo estatístico das variáveis num '''​data.frame'''​ é através da função ​'''​summary'''​. ​ Ela apresenta estatísticas descritivas para as variáveis numéricas. +A forma mais direta de se obter um resumo estatístico das variáveis num ''​data.frame''​ é através da função ''​summary''​. Ela apresenta estatísticas descritivas para as variáveis numéricas. 
-<​code>​+<​code ​rsplus>
 > cax = read.csv("​caixeta.csv",​ header=TRUE,​ as.is=TRUE) > cax = read.csv("​caixeta.csv",​ header=TRUE,​ as.is=TRUE)
 > >
Linha 47: Linha 48:
  
 Outras estatísticas devem ser calculadas individualmente pelo analista: Outras estatísticas devem ser calculadas individualmente pelo analista:
-<​code>​+<​code ​rsplus>
 > resumo1 = aggregate( cax[ , c("​cap","​h"​)],​ list(local=cax$local),​ mean ) > resumo1 = aggregate( cax[ , c("​cap","​h"​)],​ list(local=cax$local),​ mean )
 > resumo2 = aggregate( cax[ , c("​cap","​h"​)],​ list(local=cax$local),​ sd ) > resumo2 = aggregate( cax[ , c("​cap","​h"​)],​ list(local=cax$local),​ sd )
Linha 64: Linha 65:
  
  
-<box left red | //​**Exercício:​** ​ Estatísticas do Caixetal// > +<box left red | //​**Exercício:​** Estatísticas do Caixetal// > 
-Construa um '''​data.frame'''​ com os dados de **área basal** por '''​local'''​ e '''​parcela'''​.+Construa um ''​data.frame''​ com os dados de **área basal** por ''​local''​ e ''​parcela''​.
  
-Encontre a média e desvio padrão da área basal por '''​local'''​.+Encontre a média e desvio padrão da área basal por ''​local''​.
  
-Calcule o intervalo de confiança de 95% da área basal por '''​local'''​.+Calcule o intervalo de confiança de 95% da área basal por ''​local''​.
 </​box>​ </​box>​
  
Linha 83: Linha 84:
  
 A primeira abordagem ao se estudar a distribuição de uma variável é o uso de **histogramas**:​ A primeira abordagem ao se estudar a distribuição de uma variável é o uso de **histogramas**:​
-<​code>​+<​code ​rsplus>
 > cax$dap = (pi/4)* (cax$cap/​10) > cax$dap = (pi/4)* (cax$cap/​10)
 > hist( cax$dap ) > hist( cax$dap )
Linha 91: Linha 92:
 </​code>​ </​code>​
  
-A função ​'''​hist'''​ também pode fornecer os dados do histograma, sem gerar o histograma propriamente dito: +A função ''​hist''​ também pode fornecer os dados do histograma, sem gerar o histograma propriamente dito: 
-<​code>​+<​code ​rsplus>
 > hist( cax$dap, plot=FALSE ) > hist( cax$dap, plot=FALSE )
 $breaks $breaks
Linha 126: Linha 127:
 </​code>​ </​code>​
  
-Note  que o objeto gerado pela função ​'''​hist'''​ tem classes '''​histogram''',​ logo pode ser guardado e grafado posteriormente:​ +Note que o objeto gerado pela função ''​hist''​ tem a classe ​''​histogram'',​ logo ele pode ser guardado e grafado posteriormente:​ 
-<​code>​+<​code ​rsplus>
 > dap.hist = hist( cax$dap, plot=FALSE ) > dap.hist = hist( cax$dap, plot=FALSE )
 > class(dap.hist) > class(dap.hist)
Linha 135: Linha 136:
 </​code>​ </​code>​
  
-Alguns parâmetros gráficos podem tornar o gráfico mais apresentável. ​ Esses parâmetros gráficos pode ser utilizados como //​argumentos//​ em diversas funções gráficas onde são pertinentes:​ +Alguns parâmetros gráficos podem tornar o gráfico mais apresentável. Esses parâmetros gráficos pode ser utilizados como //​argumentos//​ em diversas funções gráficas onde são pertinentes:​ 
-  *  ​'''​xlab'''​ e '''​ylab'''​ = nomes dos eixos X e Y, respectivamente;​ +  *  ''​xlab''​ e ''​ylab''​ = nomes dos eixos X e Y, respectivamente;​ 
-  * '''​main'''​ = nome do título do histograma;  +  * ''​main''​ = nome do título do histograma;  
-  *  ​'''​col'''​ = cor da barra (histograma),​ ou de linhas e símbolos plotados; +  *  ''​col''​ = cor da barra (histograma),​ ou de linhas e símbolos plotados; 
-<​code>​+<​code ​rsplus>
 > hist( cax$dap[ cax$local=="​chauas"​ ], > hist( cax$dap[ cax$local=="​chauas"​ ],
 + xlab="​Diâmetro à Altura do Peito - DAP (cm)", + xlab="​Diâmetro à Altura do Peito - DAP (cm)",
Linha 148: Linha 149:
 </​code>​ </​code>​
  
-Muitas ​vêzes ​desejamos comparar gráficos, sendo útil termos mais de uma janela gráfica. ​ A função ​'''​X11()''​' (no UNIX) abre uma janela gráfica+Muitas ​vezes desejamos comparar gráficos, sendo útil termos mais de uma janela gráfica. A função ''​X11()''​ abre janelas gráficas
-sendo que podemos abrir várias: +sendo que podemos abrir várias ​janelas
-<​code>​+<​code ​rsplus>
 > hist( cax$dap[ cax$local=="​chauas"​ ] , main="​Chauás"​ ) > hist( cax$dap[ cax$local=="​chauas"​ ] , main="​Chauás"​ )
 > X11() > X11()
Linha 166: Linha 167:
 </​code>​ </​code>​
  
-A função ​'''​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 '''​ACTIVE'''​ de cada vez, e as janelas são consideradas como estando num círculo, onde podemos passar de uma para outra: +A função ''​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 '''​ACTIVE'''​ de cada vez, e as janelas são consideradas como estando num círculo, onde podemos passar de uma para outra: 
-  * '''​dev.off()'''​ - fecha a janela gráfica; +  * ''​dev.off()''​ - fecha a janela gráfica; 
-  * '''​dev.cur()'''​ - diz qual janela gráfica está '''​ACTIVE''';​ +  * ''​dev.cur()''​ - diz qual janela gráfica está ''​ACTIVE'';​ 
-  * '''​dev.set(which=dev.cur())'''​ - define qual janela deverá ficar ativa, o argumento ​'''​which'''​ deve ser o número da janela;  +  * ''​dev.set(which=dev.cur())''​ - define qual janela deverá ficar ativa, o argumento ''​which''​ deve ser o número da janela;  
-  * '''​dev.next(which=dev.cur())'''​ - informa o número da próxima janela gráfica; +  * ''​dev.next(which=dev.cur())''​ - informa o número da próxima janela gráfica; 
-  * '''​dev.prev(which=dev.cur())'''​ - informa o número da janela gráfica anterior; +  * ''​dev.prev(which=dev.cur())''​ - informa o número da janela gráfica anterior; 
-  * '''​graphics.off()'''​ - fecha todas as janelas gráficas. +  * ''​graphics.off()''​ - fecha todas as janelas gráficas. 
-<​code>​+<​code ​rsplus>
 > X11() > X11()
 > hist( cax$dap[ cax$local=="​retiro"​ ] , main="​Retiro"​ ) > hist( cax$dap[ cax$local=="​retiro"​ ] , main="​Retiro"​ )
Linha 200: Linha 201:
 Construa um histograma da altura das árvores do caixetal. Construa um histograma da altura das árvores do caixetal.
  
-Construa histogramas da altura das árvores para os diferentes caixetais ('''​local'''​).+Construa histogramas da altura das árvores para os diferentes caixetais (''​local''​).
  
 Há diferenças entre as estruturas (distribuição de tamanhos) dos caixetais? Há diferenças entre as estruturas (distribuição de tamanhos) dos caixetais?
Linha 206: Linha 207:
  
 <box left red | //​**Exercício:​** Diâmetros de Árvores de Eucalipto// > <box left red | //​**Exercício:​** Diâmetros de Árvores de Eucalipto// >
-Construa um histogram ​do DAP das árvores de //E. saligna//​. ​ Procure interpretar o histograma.+Construa um histograma ​do DAP das árvores de //E. saligna//. Procure interpretar o histograma.
 </​box>​ </​box>​
  
Linha 215: Linha 216:
 ==== Gráficos de Densidade ==== ==== Gráficos de Densidade ====
  
-Uma outra forma de explorar a distribuição de uma variável é trabalharmos com um gráfico de //​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 //densidade probabilística da variável//​. ​   Tecnicamente,​ a função ​'''​density'''​ é um **estimador de densidade de kernel gaussiano**.+Uma outra forma de explorar a distribuição de uma variável é trabalharmos com um gráfico de //​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 //densidade probabilística da variável//​. Tecnicamente,​ a função ''​density''​ é um **estimador de densidade de kernel gaussiano**.
  
-A função ​'''​density'''​ faz a análise da densidade, mas não faz o gráfico, devendo ser utilizada juntamente com a função ​'''​plot''',​ +A função ''​density''​ faz a análise da densidade, mas não faz o gráfico, devendo ser utilizada juntamente com a função ''​plot'',​ 
-para criar o gráfico, ou a função ​'''​lines''',​ para adicionar uma linha a um gráfico já criado: +para criar o gráfico, ou a função ''​lines'',​ para adicionar uma linha a um gráfico já criado: 
-<​code>​+<​code ​rsplus>
 > plot( density(cax$dap) ) > plot( density(cax$dap) )
 > >
 </​code>​ </​code>​
  
-O parâmetro que controla o comportamento do estimador de densidade é a amplitude da janela de observação //​bandwidth//​ ('''​bw'''​). ​ Janela pequenasgeram 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 //​bandwidth//​ apropriada, mas o analista tem controle sobre esse parâmetro:​ +O parâmetro que controla o comportamento do estimador de densidade é a amplitude da janela de observação ​ou //​bandwidth//​ (''​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 //​bandwidth//​ apropriada, mas o analista tem controle sobre esse parâmetro:​ 
-<​code>​+<​code ​rsplus>
 > plot( density(cax$dap,​ bw=0.5), col="​red"​ ) > plot( density(cax$dap,​ bw=0.5), col="​red"​ )
 > lines( density(cax$dap,​ bw=5), col="​blue"​ ) > lines( density(cax$dap,​ bw=5), col="​blue"​ )
Linha 236: Linha 237:
  
 <box left red | //​**Exercício:​** Distribuição de DAP nos Caixetais// > <box left red | //​**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?​+Realize uma análise de densidade do DAP para cada um dos caixetais. Os resultados confirmam o que foi visto nos histogramas?​
 </​box>​ </​box>​
  
Linha 245: Linha 246:
 ==== Boxplot ==== ==== Boxplot ====
  
-**Boxplot** é um gráfico estatístico também utilizado para estudar o comportamento de variáveis. ​ Ele é composto dos elementos:+**Boxplot** é um gráfico estatístico também utilizado para estudar o comportamento de variáveis. Ele é composto dos elementos:
   * Uma caixa (//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.   * Uma caixa (//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.
   * Uma linha dentro da caixa que representa a posição da mediana (segundo quartil ou quantil 50%).   * Uma linha dentro da caixa que representa a posição da mediana (segundo quartil ou quantil 50%).
-  * 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).+  * Linhas que se prolongam a partir da caixa até no máximo 1,5 vezes a distância interquartil (diferença entre o 1o. e 3o. quartis).
   * As observações que passarem essa distância são representadas individualmente por pontos.   * As observações que passarem essa distância são representadas individualmente por pontos.
  
-<​code>​ +<​code ​rsplus
->de uma distribuição ​boxplot( cax$dap )+> boxplot( cax$dap )
 > >
 > esa = read.csv("​dados/​esaligna.csv",​header=TRUE) > esa = read.csv("​dados/​esaligna.csv",​header=TRUE)
Linha 259: Linha 260:
 </​code>​ </​code>​
  
-O **boxplot** é útil para analisar a //​simetria//​ de uma distribuição,​ o //​espalhamento//​ das observações ​ e a presença de observações discrepantes. +O **boxplot** é útil para analisar a //​simetria//​ de uma distribuição,​ o //​espalhamento//​ das observações e a presença de observações discrepantes. 
-Ele é problemático quando a variável analisada ​não é **unimodal**. ​  ​Ele também é uma ferramenta útil para comparar distribuições,​ isso é realizado+Ele é problemático quando a variável analisada **não é unimodal**. Ele também é uma ferramenta útil para comparar distribuições,​ isso é realizado
 quando desejamos um **boxplot** para cada situação: quando desejamos um **boxplot** para cada situação:
-<​code>​+<​code ​rsplus>
 > boxplot( dap ~ local, data=cax ) > boxplot( dap ~ local, data=cax )
 > >
 </​code>​ </​code>​
  
-Note que o primeiro argumento da função ​'''​boxplot'''​ não é um vetor nesse caso: +Note que o primeiro argumento da função ''​boxplot''​ não é um vetor nesse caso: 
-<​code>​+<​code ​rsplus>
 > class( dap ~ local ) > class( dap ~ local )
 [1] "​formula"​ [1] "​formula"​
Linha 274: Linha 275:
 </​code>​ </​code>​
  
-O primeiro argumento é uma '''​formula'''​ estatística onde o símbolo **~** tem um significado especial. ​+O primeiro argumento é uma ''​formula''​ estatística onde o símbolo **~** tem um significado especial. ​
  
-A fórmula ​'''​dap ~ local'''​ deve ser lida como: //modele a variável// ''​dap''​ //como função da variável// ''​local''​.+A fórmula ''​dap ~ local''​ deve ser lida como: //modele a variável// ''​dap''​ //como função da variável// ''​local''​.
  
-O argumento ​'''​data'''​ informa em qual '''​data.frame'''​ estão as variáveis citadas na fórmula e é um argumento essencial toda vez que se utiliza uma fórmula.+O argumento ''​data''​ informa em qual ''​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 **interação** entre dois fatores influenciando a variável DAP: A utilização da fórmula permite a construção de gráficos mais complexos, pensando na **interação** entre dois fatores influenciando a variável DAP:
-<​code>​+<​code ​rsplus>
 > boxplot( dap ~ local * parcela, data=cax) > boxplot( dap ~ local * parcela, data=cax)
 > >
Linha 288: Linha 289:
  
 Mas os gráficos no R podem ficar realmente //​sofisticados//,​ mas é necessário um pouco mais de programação:​ Mas os gráficos no R podem ficar realmente //​sofisticados//,​ mas é necessário um pouco mais de programação:​
-<​code>​+<​code ​rsplus>
 > boxname = paste( sort(rep(unique(cax$local),​5)),​ rep(1:5,3) ) > boxname = paste( sort(rep(unique(cax$local),​5)),​ rep(1:5,3) )
 > boxcor = sort(rep(c("​navy","​darkgreen","​salmon1"​),​5)) > boxcor = sort(rep(c("​navy","​darkgreen","​salmon1"​),​5))
Linha 303: Linha 304:
  
 <box left red | //​**Exercício:​** Estrutura de Eucaliptais // > <box left red | //​**Exercício:​** Estrutura de Eucaliptais // >
-Utilize o gráfico boxplot para analisar o DAP de árvores de //E. grandis// em função das variáveis região ('''​regiao'''​) e rotação ('''​rot'''​).+Utilize o gráfico boxplot para analisar o DAP de árvores de //E. grandis// em função das variáveis região (''​regiao''​) e rotação (''​rot''​).
 </​box>​ </​box>​
  
Linha 317: Linha 318:
 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. 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 ​'''​qqnorm''',​ associada à função ​'''​qqline'''​ que adiciona uma linha ao gráfico: +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 ''​qqnorm'',​ associada à função ''​qqline''​ que adiciona uma linha ao gráfico: 
-<​code>​+<​code ​rsplus>
 > qqnorm( cax$dap ) > qqnorm( cax$dap )
 > qqline( cax$dap ) > qqline( cax$dap )
Linha 327: Linha 328:
 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 **quantis empíricos**,​ isto é, calculados a partir de uma amostra, formam uma linha reta contra os **quantis teóricos**,​ calculados a partir das estimativas dos parâmetros da distribuição (no caso da Normal: média e desvio padrão). ​ 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 **quantis empíricos**,​ isto é, calculados a partir de uma amostra, formam uma linha reta contra os **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 ​'''​qqnorm'''​ faz para distribuição Normal: +É isso que a função ''​qqnorm''​ faz para distribuição Normal: 
-<​code>​+<​code ​rsplus>
 > vn1 = rnorm( 10000 ) > vn1 = rnorm( 10000 )
 > qqnorm( vn1 ) > qqnorm( vn1 )
Linha 344: Linha 345:
  
 Também é possível comparar duas distribuições a partir dos **quantis empíricos**:​ Também é possível comparar duas distribuições a partir dos **quantis empíricos**:​
-<​code>​+<​code ​rsplus>
 > qqplot( cax$dap[ cax$local=="​retiro"​ ], cax$dap[ cax$local=="​jureia"​ ] ) > qqplot( cax$dap[ cax$local=="​retiro"​ ], cax$dap[ cax$local=="​jureia"​ ] )
 > abline( 0, 1, col="​red"​ ) > abline( 0, 1, col="​red"​ )
Linha 353: Linha 354:
 </​code>​ </​code>​
  
-**Nota:** a função ​'''​abline( a, b)'''​ adiciona a um gráfico ​um reta com intercepto //a// e inclinação //b//.+**Nota:** a função ''​abline( a, b)''​ adiciona a um gráfico ​uma reta com intercepto //a// e inclinação //b//.
  
  
Linha 360: Linha 361:
  
 <box left red | //​**Exercício:​** Inventário em Floresta Plantada // > <box left red | //​**Exercício:​** Inventário em Floresta Plantada // >
-Verifique se as variáveis quantitativas obtidas no inventário de florestas plantadas tem distribuição Normal: ​'''​dap''', ​'''​ht'''​ e '''​hdom'''​.+Verifique se as variáveis quantitativas obtidas no inventário de florestas plantadas tem distribuição Normal: ''​dap'',​ ''​ht''​ e ''​hdom''​.
 </​box>​ </​box>​
  
Linha 373: Linha 374:
  
 Vejamos um exemplo comum em //​fitossociologia//​ que é apresentar a densidade relativa das espécies: Vejamos um exemplo comum em //​fitossociologia//​ que é apresentar a densidade relativa das espécies:
-<​code>​+<​code ​rsplus>
 > da = table( cax$especie[ cax$local=="​jureia"​ ] ) > da = table( cax$especie[ cax$local=="​jureia"​ ] )
 > da = sort(da, decreasing=TRUE ) > da = sort(da, decreasing=TRUE )
Linha 379: Linha 380:
 </​code>​ </​code>​
  
-Para obter o gráfico de barras basta usar a função ​'''​barplot''':​ +Para obter o gráfico de barras basta usar a função ''​barplot'':​ 
-<​code>​+<​code ​rsplus>
 > barplot( dr ) > barplot( dr )
 </​code>​ </​code>​
  
 O resultado não é muito apropriado para interpretações,​ mas podemos fazer algumas melhoras: O resultado não é muito apropriado para interpretações,​ mas podemos fazer algumas melhoras:
-<​code>​+<​code ​rsplus>
 > barplot( dr , xlab="​Densidade Relativa (%)", horiz=T, las=1) > barplot( dr , xlab="​Densidade Relativa (%)", horiz=T, las=1)
 </​code>​ </​code>​
  
-O nome das espécies precisam de mais espaço. É possível alterar o espaço trabalhando os parâmetros da função ​'''​par'''​ que controla todos os parâmetros gráficos de uma janela gráfica. ​  +Os nomes das espécies precisam de mais espaço. É possível alterar o espaço trabalhando os parâmetros da função ''​par''​ que controla todos os parâmetros gráficos de uma janela gráfica.  
-Nesse caso, o parâmetro ​'''​omd=c(x1,​x2,​y1,​y2)'''​ define o início e final da região de plotagem em termos relativos. ​ O valor //default// é '''​omd=c(0,​ 1, 0, 1)'''​.  +Nesse caso, o parâmetro ''​omd=c(x1,​x2,​y1,​y2)''​ define o início e final da região de plotagem em termos relativos. O valor //default// é ''​omd=c(0,​ 1, 0, 1)''​.  
-<​code>​+<​code ​rsplus>
 > par( omd=c(0.2,​1,​0,​1) ) > par( omd=c(0.2,​1,​0,​1) )
 > barplot( dr , xlab="​Densidade Relativa (%)", horiz=T, las=1) > barplot( dr , xlab="​Densidade Relativa (%)", horiz=T, las=1)
Linha 399: Linha 400:
 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. 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.+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, ​comparamos ​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: Existe no R, um gráfico que faz a mesma coisa de modo muito mais simples e direto:
-<​code>​+<​code ​rsplus>
 > par( omd=c(0,​1,​0,​1) )     # Primeiro é necessário re-estabelecer o parâmetro omd > par( omd=c(0,​1,​0,​1) )     # Primeiro é necessário re-estabelecer o parâmetro omd
  
Linha 409: Linha 410:
 </​code>​ </​code>​
  
-No '''​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.+No ''​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 //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: Como nessa floresta a //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:
-<​code>​+<​code ​rsplus>
 > dotchart( log(dr), xlab="​Logaritmo Natural da Densidade Relativa (%)") > dotchart( log(dr), xlab="​Logaritmo Natural da Densidade Relativa (%)")
 </​code>​ </​code>​
Linha 420: Linha 421:
  
 <box left red | //​**Exercício:​** Dominância em Caixetais// > <box left red | //​**Exercício:​** Dominância em Caixetais// >
-Construa um gráfico da dominância das espécies nos caixetais.+Construa um gráfico da dominância ​(biomassa relativa) ​das espécies nos caixetais.
 </​box>​ </​box>​
  
  
 <box left red | //​**Exercício:​** Inventário em Floresta Plantada // > <box left red | //​**Exercício:​** Inventário em Floresta Plantada // >
-Utilizando a função ​'''​dotchart'''​ investigue o número de árvores no inventário em função da região ('''​regiao'''​) e rotação ('''​rot'''​).+Utilizando a função ''​dotchart''​ investigue o número de árvores no inventário em função da região (''​regiao''​) e rotação (''​rot''​).
 </​box>​ </​box>​
  
Linha 438: Linha 439:
 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. 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 ​'''​plot''':​ +A função genérica no R para gráficos de dispersão é a função ''​plot'':​ 
-<​code>​+<​code ​rsplus>
 > plot( x = cax$dap, y = cax$h ) > plot( x = cax$dap, y = cax$h )
 </​code>​ </​code>​
  
-Na função ​'''​plot''',​ o primeiro argumento é plotado nas //​abscissas//​ (eixo-x) e o segundo argumento nas //​ordenadas//​ (eixo-y). ​+Na função ''​plot'',​ o primeiro argumento é plotado nas //​abscissas//​ (eixo-x) e o segundo argumento nas //​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. ​ +Ao investigar a relação entre duas variáveis, ​frequentemente ​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 (**smooth** ou suavizaçã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 (**smooth** ou suavização):​
-<​code>​+<​code ​rsplus>
 > scatter.smooth( cax$dap, cax$h , col="​red"​) > scatter.smooth( cax$dap, cax$h , col="​red"​)
 </​code>​ </​code>​
  
-Uma série de parâmetros gráficos podem ser utilizados diretamente nas funções ​'''​plot'''​ e '''​scatter.smooth''':​ +Uma série de parâmetros gráficos podem ser utilizados diretamente nas funções ''​plot''​ e ''​scatter.smooth'':​ 
-<​code>​+<​code ​rsplus>
 > 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)", 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="​x"​)
Linha 461: Linha 462:
  
  
-O R também permite um certo grau de **interação** com gráficos de dispersão. ​ Uma delas é a identificação de observações no gráfico: +O R também permite um certo grau de **interação** com gráficos de dispersão. Uma delas é a identificação de observações no gráfico: 
-<​code>​+<​code ​rsplus>
 > scatter.smooth( cax$dap, cax$h ) > scatter.smooth( cax$dap, cax$h )
 > dim( cax ) > dim( cax )
Linha 478: Linha 479:
 </​code>​ </​code>​
  
-A função ​'''​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 ''​data.frame''​).+A função ''​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 ''​data.frame''​).
  
-Ao executar a função ​'''​identify''',​ o R entra num modo interativo com o gráfico. ​ Ao posicionar o //mouse// sobre uma observação no gráfico e pressionar o **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 **botão direito** do //mouse//.+Ao executar a função ''​identify'',​ o R entra num modo interativo com o gráfico. Ao posicionar o //mouse// sobre uma observação no gráfico e pressionar o **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 **botão direito** do //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:​ +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:​ 
-<​code>​+<​code ​rsplus>
 > cax2 = cax[ -c(362, 556, 557), ] > cax2 = cax[ -c(362, 556, 557), ]
 > scatter.smooth( cax2$dap, cax2$h , col="​red"​ ) > scatter.smooth( cax2$dap, cax2$h , col="​red"​ )
Linha 490: Linha 491:
  
  
-Também na função ​'''​plot'''​ é possível se utilizar como argumento inicial uma '''​formula''',​ seguida do ''​data.frame''​ que contem ​as variáveis:​ +Também na função ''​plot''​ é possível se utilizar como argumento inicial uma ''​formula'',​ seguida do ''​data.frame''​ que contém ​as variáveis:​ 
-<​code>​+<​code ​rsplus>
 > plot( h ~ dap, data=cax2 ) > plot( h ~ dap, data=cax2 )
 </​code>​ </​code>​
  
 Nesse caso, para adicionar a linha não-paramétrica de tendência é necessário um segundo comando: Nesse caso, para adicionar a linha não-paramétrica de tendência é necessário um segundo comando:
-<​code>​+<​code ​rsplus>
 > plot( h ~ dap, data=cax2 ) > plot( h ~ dap, data=cax2 )
 > lines( lowess( cax2$dap, cax2$h ) , col="​red"​) > lines( lowess( cax2$dap, cax2$h ) , col="​red"​)
 </​code>​ </​code>​
  
-O uso da ''​formula''​ permite a utilização da função ​'''​coplot'''​ para formação de gráficos de dispersão em função de variáveis categóricas:​ +O uso da ''​formula''​ permite a utilização da função ''​coplot''​ para formação de gráficos de dispersão em função de variáveis categóricas:​ 
-<​code>​+<​code ​rsplus>
 > coplot( h ~ dap | local , data=cax2 ) > coplot( h ~ dap | local , data=cax2 )
 > coplot( h ~ dap | local*parcela , data=cax2 ) > coplot( h ~ dap | local*parcela , data=cax2 )
 </​code>​ </​code>​
  
-Também é possível adicionar uma linha de tendência em cada gráfico gerado pela função ​'''​coplot''':​ +Também é possível adicionar uma linha de tendência em cada gráfico gerado pela função ''​coplot'':​ 
-<​code>​+<​code ​rsplus>
 > coplot( h ~ dap | local , data=cax2 , panel= panel.smooth) > coplot( h ~ dap | local , data=cax2 , panel= panel.smooth)
 > coplot( h ~ dap | local*parcela , data=cax2 , panel=panel.smooth) > coplot( h ~ dap | local*parcela , data=cax2 , panel=panel.smooth)
Linha 515: Linha 516:
 Na ''​formula''​ acima, surgiram elementos novos: Na ''​formula''​ acima, surgiram elementos novos:
   * A barra vertical indica uma situação condicional,​ no caso fazer um gráfico de dispersão para cada ''​local''​.   * A barra vertical indica uma situação condicional,​ no caso fazer um gráfico de dispersão para cada ''​local''​.
-  * O asterísco (''​*''​) indica **interação**,​ no caso o gráfico de dispersão é realizado para cada interação entre as variáveis ​ ''​local''​ e ''​parcela''​.+  * O asterísco (''​*''​) indica **interação**,​ no caso o gráfico de dispersão é realizado para cada interação entre as variáveis ''​local''​ e ''​parcela''​.
  
-A função ​'''​coplot'''​ atua de forma diferente, se as variáveis que classificam o gráfico de dispersão são variáveis categóricas ('''​factor'''​) ou numéricas ('''​numeric'''​):​ +A função ''​coplot''​ atua de forma diferente, se as variáveis que classificam o gráfico de dispersão são variáveis categóricas (''​factor''​) ou numéricas (''​numeric''​):​ 
-<​code>​+<​code ​rsplus>
 > egr = read.table("​dados/​egrandis.csv",​header=TRUE,​sep=";"​) > egr = read.table("​dados/​egrandis.csv",​header=TRUE,​sep=";"​)
 > coplot( ht ~ dap | idade, data=egr, panel = panel.smooth ) > coplot( ht ~ dap | idade, data=egr, panel = panel.smooth )
-> coplot( ht ~ dap | idade * rot , data=egr, panel = panel.smooth ) +> coplot( ht ~ dap | idade * rotacao ​, data=egr, panel = panel.smooth ) 
-> coplot( ht ~ dap | idade * as.factor(rot) , data=egr, panel = panel.smooth )+> coplot( ht ~ dap | idade * as.factor(rotacao) , data=egr, panel = panel.smooth )
 </​code>​ </​code>​
  
Linha 531: Linha 532:
  
 <box left red | //​**Exercício:​** Relação Hipsométrica da Caixeta // > <box left red | //​**Exercício:​** Relação Hipsométrica da Caixeta // >
-Analise a relação dap-altura ('''​dap'''​ e '''​h'''​) em função do caixetal, mas **somente** para as árvores de caixeta (//Tabebuia cassinoides//​).+Analise a relação dap-altura (''​dap''​ e ''​h''​) em função do caixetal, mas **somente** para as árvores de caixeta (//Tabebuia cassinoides//​).
 </​box>​ </​box>​
  
  
 <box left red | //​**Exercício:​** Inventário em Floresta Plantada II // > <box left red | //​**Exercício:​** Inventário em Floresta Plantada II // >
-Analise a relação entre as variáveis ​'''​hdom'''​ (altura das árvores dominantes) e '''​dap'''​ para diferentes regiões ('''​regiao'''​) e rotações (''​'​rot'​''​).+Analise a relação entre as variáveis ''​hdom''​ (altura das árvores dominantes) e ''​dap''​ para diferentes regiões (''​regiao''​) e rotações (''​rotacao''​).
 </​box>​ </​box>​
  
 ==== Painel de Gráficos de Dispersão ==== ==== Painel de Gráficos de Dispersão ====
  
-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 **pairs** realiza essa operação automaticamente:​ +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 **pairs** realiza essa operação automaticamente:​ 
-<​code>​ +<​code ​rsplus
-> pairs( egr[ , c("​dap","​ht","​hdom","​idade"​)] )+> pairs( egr[ , c("​dap","​ht","​idade"​)] )
 </​code>​ </​code>​
  
-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:​ +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:​ 
-<​code>​+<​code ​rsplus>
  
-> pairs( egr[ , c("​dap","​ht","​hdom","​idade"​)] , pch=21, bg=c("​red","​blue","​green"​)[unclass(egr$regiao)] ) +> pairs( egr[ , c("​dap","​ht","​idade"​)] , pch=21, bg=c("​red","​blue","​green", "gold"​)[unclass(as.factor(egr$regiao))] ) 
-> pairs( egr[ , c("​dap","​ht","​hdom","​idade"​)] , pch=21, bg=c("​red","​green"​)[unclass(egr$rot)] )+> pairs( egr[ , c("​dap","​ht","​idade"​)] , pch=21, bg=c("​red","​green"​)[unclass(egr$rotacao)] )
  
 </​code> ​   ​ </​code> ​   ​
Linha 560: Linha 561:
 Analise a relação entre as variáveis quantitativas do conjunto de dados sobre biomassa das árvores de //E. saligna//. Analise a relação entre as variáveis quantitativas do conjunto de dados sobre biomassa das árvores de //E. saligna//.
  
-Qual a influência da variável classe ('''​classe'''​) sobre a relação entre as variáveis?+Qual a influência da variável classe (''​classe''​) sobre a relação entre as variáveis?
 </​box>​ </​box>​
  
Linha 574: Linha 575:
 ===== Gráficos em Painel: O Pacote Lattice ===== ===== Gráficos em Painel: O Pacote Lattice =====
  
-Para ampliar a capacidade de análise gráfica exploratória e mesmo //modelagem gráfica// dos dados, existe no R o pacote **lattice**. ​ Para carregar o pacote usa-se o comando: +Para ampliar a capacidade de análise gráfica exploratória e mesmo //modelagem gráfica// dos dados, existe no R o pacote **lattice**. Para carregar o pacote usa-se o comando: 
-<​code>​+<​code ​rsplus>
 > library(lattice) > library(lattice)
 </​code>​ </​code>​
  
-O pacote **lattice** oferece uma série de funções análogas às funções gráficas do R, mas permite a construção de **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.+O pacote **lattice** oferece uma série de funções análogas às funções gráficas do R, mas permite a construção de **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.
  
 ==== Gráficos de Dispersão ===== ==== Gráficos de Dispersão =====
  
 Para construir gráficos de dispersão no lattice usa-se a função **xyplot**: Para construir gráficos de dispersão no lattice usa-se a função **xyplot**:
-<​code>​+<​code ​rsplus>
 > egr = read.csv("​egrandis.csv",​header=T) > egr = read.csv("​egrandis.csv",​header=T)
 > xyplot( ht ~ dap, data=egr ) > xyplot( ht ~ dap, data=egr )
 </​code>​ </​code>​
  
-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: +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: 
-<​code>​+<​code ​rsplus>
 > xyplot( ht ~ dap | regiao , data=egr ) > xyplot( ht ~ dap | regiao , data=egr )
-> xyplot( ht ~ dap | regiao * rot , data=egr )+> xyplot( ht ~ dap | regiao * rotacao ​, data=egr )
 </​code>​ </​code>​
  
 Também é possível construir gráficos com suavização:​ Também é possível construir gráficos com suavização:​
-<​code>​ +<​code ​rsplus
-> xyplot( ht ~ dap | regiao * rot , data=egr, +> xyplot( ht ~ dap | regiao * rotacao ​, data=egr, 
-panel = function(x,​y) + panel = function(x,​y) 
-+ { 
-        panel.xyplot(x,​y) +         ​panel.xyplot(x,​y) 
-        panel.loess(x,​y,​ span=1, col="​red"​) +         ​panel.loess(x,​y,​ span=1, col="​red"​) 
-} )+ } )
 >    >   
 </​code>​ </​code>​
Linha 611: Linha 612:
  
 <box left red | //​**Exercício:​** Relação Hipsométrica da Caixeta II // > <box left red | //​**Exercício:​** Relação Hipsométrica da Caixeta II // >
-Utilizando o pacote lattice, analise a relação dap-altura ('''​dap'''​ e '''​h'''​) em função do caixetal, mas **somente** para as árvores de caixeta (//Tabebuia cassinoides//​).+Utilizando o pacote ​''​lattice''​, analise a relação dap-altura (''​dap''​ e ''​h''​) em função do caixetal, mas **somente** para as árvores de caixeta (//Tabebuia cassinoides//​).
 </​box>​ </​box>​
  
 <box left red | //​**Exercício:​** Relação Altura das Dominantes - Idade em Florestas Plantadas // > <box left red | //​**Exercício:​** Relação Altura das Dominantes - Idade em Florestas Plantadas // >
-Utilizando os dados de floresta plantada (//E. grandis//), analise a relação entre altura das árvores dominantes ('''​hdom'''​) e idade ('''​idade'''​) por rotação (''​'​rot'​''​) e região ('''​regiao'''​).+Utilizando os dados de floresta plantada (//E. grandis//), analise a relação entre altura das árvores dominantes (''​hdom''​) e idade (''​idade''​) por rotação (''​rotacao''​) e região (''​regiao''​).
 </​box>​ </​box>​
  
Linha 623: Linha 624:
  
 O pacote lattice também possui uma função específica para fazer um painel de gráficos de dispersão: **splom** (//scatter plot//): O pacote lattice também possui uma função específica para fazer um painel de gráficos de dispersão: **splom** (//scatter plot//):
-<​code>​+<​code ​rsplus>
 > splom( egr[ , c("​dap","​ht","​hdom","​idade"​)] ​ ) > splom( egr[ , c("​dap","​ht","​hdom","​idade"​)] ​ )
 </​code>​ </​code>​
  
-Identificar grupos em cada gráfico de dispersão é mais fácil com a função **splom**, basta utilizar o argumento ​'''​group''':​ +Identificar grupos em cada gráfico de dispersão é mais fácil com a função **splom**, basta utilizar o argumento ''​group'':​ 
-<​code>​+<​code ​rsplus>
 > splom( egr[ , c("​dap","​ht","​hdom","​idade"​)] , group=egr$regiao ) > splom( egr[ , c("​dap","​ht","​hdom","​idade"​)] , group=egr$regiao )
 > splom( egr[ , c("​dap","​ht","​hdom","​idade"​)] , group=egr$rot ) > splom( egr[ , c("​dap","​ht","​hdom","​idade"​)] , group=egr$rot )
 </​code>​ </​code>​
  
-Também é possível adicionar uma //linha de suavização//,​ mas é necessário definir a função de painel (argumento ​'''​painel'''​):​ +Também é possível adicionar uma //linha de suavização//,​ mas é necessário definir a função de painel (argumento ''​painel''​):​ 
-<​code>​+<​code ​rsplus>
 > splom( egr[ , c("​dap","​ht","​hdom","​idade"​)] , group=egr$regiao,​ > splom( egr[ , c("​dap","​ht","​hdom","​idade"​)] , group=egr$regiao,​
 + panel = function(x,​y,​...) + panel = function(x,​y,​...)
Linha 652: Linha 653:
  
 <box left red | //​**Exercício:​** Biomassa de Árvores de Eucalipto // > <box left red | //​**Exercício:​** Biomassa de Árvores de Eucalipto // >
-Analise a relação entre as variáveis quantitativas dos dados de biomassa de //E. saligna// utilizando a função **splom**. ​ Inclua na sua análise a variável ​'''​classe'''​.+Analise a relação entre as variáveis quantitativas dos dados de biomassa de //E. saligna// utilizando a função **splom**. Inclua na sua análise a variável ''​classe''​.
 </​box>​ </​box>​
  
Linha 659: Linha 660:
 ==== Histogramas e Gráficos de Densidade ===== ==== Histogramas e Gráficos 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 **histogram** e **densityplot**:​ +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 **histogram** e **densityplot**:​ 
-<​code>​+<​code ​rsplus>
 > cax = read.csv("​caixeta.csv",​header=T) > cax = read.csv("​caixeta.csv",​header=T)
 > cax$dap = cax$cap / pi > cax$dap = cax$cap / pi
Linha 672: Linha 673:
  
  
-Também é possível construir um histograma com linhas de densidade, para isso o tipo do histograma deve ser definido como '''​density''':​ +Também é possível construir um histograma com linhas de densidade, para isso o tipo do histograma deve ser definido como ''​density'':​ 
-<​code>​+<​code ​rsplus>
 > histogram( ~ ht | regiao * rot , dat=egr, type="​density",​ > histogram( ~ ht | regiao * rot , dat=egr, type="​density",​
 +     panel = function(x, ...){ +     panel = function(x, ...){
Linha 683: Linha 684:
  
  
-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:​ +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:​ 
-<​code>​+<​code ​rsplus>
 > histogram( ~ ht | regiao * rot , dat=egr, type="​density",​ > histogram( ~ ht | regiao * rot , dat=egr, type="​density",​
 +     panel = function(x, ...){ +     panel = function(x, ...){
Linha 696: Linha 697:
  
 <box red left | //​**Exercício:​** Altura das Árvores Dominantes em Florestas Plantadas //> <box red left | //​**Exercício:​** Altura das Árvores Dominantes em Florestas Plantadas //>
-Explore o comportamento da variável altura das árvores dominantes ('''​hdom'''​) por região ('''​regiao'''​) e rotação ('''​rot'''​) na floresta plantada de //E. grandis//.+Explore o comportamento da variável altura das árvores dominantes (''​hdom''​) por região (''​regiao''​) e rotação (''​rot''​) na floresta plantada de //E. grandis//.
 </​box>​ </​box>​
  
 <box red left | //​**Exercício:​** Altura de Árvores de Caixeta //> <box red left | //​**Exercício:​** Altura de Árvores de Caixeta //>
-Analise o comportamento da variável altura ('''​h'''​) das árvores de caixeta.+Analise o comportamento da variável altura (''​h''​) das árvores de caixeta.
 </​box>​ </​box>​
  
Linha 707: Linha 708:
 O pacote **lattice** implementa a construção de gráficos sempre através de fórmulas, isso pode ser conveniente O pacote **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:​ no caso de se verificar a distribuição de uma variável em várias situações:​
-<​code>​+<​code ​rsplus>
 > qqmath( ~ dap | local, data=cax ) > qqmath( ~ dap | local, data=cax )
 </​code>​ </​code>​
  
 Para adicionar a linha do gráfico qq é necessário editar a função de painel: Para adicionar a linha do gráfico qq é necessário editar a função de painel:
-<​code>​+<​code ​rsplus>
 > qqmath( ~ dap | local, data=cax, > qqmath( ~ dap | local, data=cax,
 +     panel = function(x, ...) +     panel = function(x, ...)
Linha 723: Linha 724:
  
 Uma vantagem do pacote lattice é a possibilidade de gráficos quantil-quantil com outras distribuições além da 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, ​DAP das árvores dos caixetais é comparada com a distribuição exponencial ('''​qexp'''​). +distribuição normal. Nos gráficos abaixo, ​a distribuição observada de DAP das árvores dos caixetais é comparada com a distribuição exponencial (''​qexp''​). 
-<​code>​+<​code ​rsplus>
 > 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)) )
 > >
Linha 738: Linha 739:
  
 Também é possível fazer gráficos quantil-quantil de um conjuntos de dados empíricos usando a função **qq**: Também é possível fazer gráficos quantil-quantil de um conjuntos de dados empíricos usando a função **qq**:
-<​code>​+<​code ​rsplus>
 > qq( local ~ dap, data=cax, subset = ( local=="​chauas"​ | local=="​jureia"​ ) ) > 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=="​chauas"​ | local=="​retiro"​ ) )
Linha 745: Linha 746:
  
 Dois aspectos devem ser notados no código acima: Dois aspectos devem ser notados no código acima:
-  - A variável ​'''​local'''​ (categórica) aparece **à esquerda** do sinal de modelagem. +  - A variável ''​local''​ (categórica) aparece **à esquerda** do sinal de modelagem. 
-  - O argumento ​'''​subset'''​ faz com que a variável ​'''​local'''​ fique com apenas duas categorias.+  - O argumento ''​subset''​ faz com que a variável ''​local''​ fique com apenas duas categorias.
  
  
Linha 753: Linha 754:
  
 <box 100% red left | //​**Exercício:​** Altura das Árvores em Florestas Plantadas //> <box 100% red left | //​**Exercício:​** Altura das Árvores em Florestas Plantadas //>
-Verifique se a altura das árvores ('''​ht'''​) nas florestas plantadas de //E. grandis// segue distribuição Normal.+Verifique se a altura das árvores (''​ht''​) nas florestas plantadas de //E. grandis// segue distribuição Normal.
  
-Faça uma análise geral e depois por região ('''​regiao'''​) e rotação ('''​rot'''​).+Faça uma análise geral e depois por região (''​regiao''​) e rotação (''​rot''​).
 </​box>​ </​box>​
  
 <box 100% red left | //​**Exercício:​** Biomassa de Árvores de Eucalipto //> <box 100% red left | //​**Exercício:​** Biomassa de Árvores de Eucalipto //>
-Verifique se biomassa total ('''​total'''​) e a biomassa do tronco ('''​tronco'''​) das árvores de //E. saligna// possuem distribuição semelhante. ​  ​E a biomassa das folhas ('''​folha'''​),​ tem distribuição semelhante à biomassa do tronco?+Verifique se biomassa total (''​total''​) e a biomassa do tronco (''​tronco''​) das árvores de //E. saligna// possuem distribuição semelhante. E a biomassa das folhas (''​folha''​),​ tem distribuição semelhante à biomassa do tronco?
 </​box>​ </​box>​
03_apostila/05-exploratoria.1597408239.txt.gz · Última modificação: 2020/08/14 09:30 por adalardo