Ferramentas do usuário

Ferramentas do site


02_tutoriais:tutorial5:start

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
02_tutoriais:tutorial5:start [2023/08/21 17:37]
127.0.0.1 edição externa
02_tutoriais:tutorial5:start [2023/08/26 11:20] (atual)
Linha 2: Linha 2:
   * [[02_tutoriais:​tutorial5:​start|Tutorial]]   * [[02_tutoriais:​tutorial5:​start|Tutorial]]
   * [[01_curso_atual:​exercicios5| Exercícios]]   * [[01_curso_atual:​exercicios5| Exercícios]]
-  * [[03_apostila:​05a-graficos| Apostila]] ​ +  * [[03_apostila:​05a-graficos| Apostila]] ​
 </​WRAP>​ </​WRAP>​
 ====== 5a. Criação e Edição de Gráficos no R====== ====== 5a. Criação e Edição de Gráficos no R======
Linha 10: Linha 10:
 ===== Refletindo sobre a representação dos dados ===== ===== Refletindo sobre a representação dos dados =====
  
-{{youtube>​Wy4S0_mvHno}}+{{ youtube>​Wy4S0_mvHno }}
  
 </​WRAP>​ </​WRAP>​
Linha 19: Linha 19:
 ===== Gráficos na Tela ===== ===== Gráficos na Tela =====
  
-Existem vários dispositivos gráficos no R que estão relacionados a dois grupos principais: os dispositivos de tela e os de arquivos. Nos dispositivos base do ''​grDevices''​ temos os dispositivos de tela ''​windows'',​ ''​X11''​ e ''​quartz''​ que produzem janelas gráficas, funções que dependem um pouco dos sistemas operacionais que estão sendo usados (i.e. Windows, Linux ou MacOS). ​Para abrir um dispositivo de tela temos as funções:+Existem vários dispositivos gráficos no R que estão relacionados a dois grupos principais: os dispositivos de tela e os de arquivos. Nos dispositivos base do ''​grDevices''​ temos os dispositivos de tela ''​windows'',​ ''​X11''​ e ''​quartz''​ que produzem janelas gráficas, funções que dependem um pouco dos sistemas operacionais que estão sendo usados (i.e. Windows, Linux ou MacOS). ​Assim, para abrir um dispositivo de tela temos as funções:
  
 <code rsplus> <code rsplus>
Linha 36: Linha 36:
 **__O sistema do pacote__** <wrap hi>​graphics</​wrap> ​ **__O sistema do pacote__** <wrap hi>​graphics</​wrap> ​
  
-{{youtube>​pQYhAc6KtG4}}+{{ youtube>​pQYhAc6KtG4 }}
 </​WRAP>​ </​WRAP>​
  
Linha 42: Linha 42:
 ===== Funções de Alto Nível ===== ===== Funções de Alto Nível =====
  
-As funções gráficas de alto nível são aquelas que iniciam um dispositivo gráfico de tela e arranjam os elementos essenciais do gráfico no dispositivo. A principal função ​de alto nível ​é ''​plot'',​ mas já usamos outras no tutorial anterior, como o ''​hist'',​ ''​boxplot''​ e ''​barplot''​. ​+As funções gráficas de alto nível são aquelas que iniciam um dispositivo gráfico de tela e arranjam os elementos essenciais do gráfico no dispositivo. A principal função é ''​plot'',​ mas já usamos outras no tutorial anterior, como o ''​hist'',​ ''​boxplot''​ e ''​barplot''​. ​
    
 /* /*
-=====  Orientações Gerais=====+===== Orientações Gerais =====
  
-Aqui são apenas dados os códigos e funções, para você executar e entender como funcionam. Para entender as funções, leia antes o capítulo correspondente na [[03_apostila:​05a-graficos|apostila]]. ​ Experimente também mudar mais argumentos e funções além das apresentadas nos exercícios. ​+Aqui são apenas dados os códigos e funções, para você executar e entender como funcionam. Para entender as funções, leia antes o capítulo correspondente na [[03_apostila:​05a-graficos|apostila]]. Experimente também mudar mais argumentos e funções além das apresentadas nos exercícios. ​
 */ */
 <WRAP center round box 100%> <WRAP center round box 100%>
Linha 56: Linha 56:
  
   * ''​riqueza'':​ variável resposta, número de espécies de aves   * ''​riqueza'':​ variável resposta, número de espécies de aves
-  * ''​capturas'':​ número de indivíduos capturados com o mesmo esforço amostral ​ +  * ''​capturas'':​ número de indivíduos capturados com o mesmo esforço amostral ​
   * ''​area'':​ variável preditora relacionada à área do fragmento florestal em hectares   * ''​area'':​ variável preditora relacionada à área do fragmento florestal em hectares
   * ''​conectada'':​ variável preditora relacionada ao grau de conectividade do fragmento florestal   * ''​conectada'':​ variável preditora relacionada ao grau de conectividade do fragmento florestal
Linha 63: Linha 63:
 <code rsplus> <code rsplus>
 riqueza <- c(15, 18, 22, 24, 25, 30, 31, 34, 37, 39, 41, 45) riqueza <- c(15, 18, 22, 24, 25, 30, 31, 34, 37, 39, 41, 45)
-capturas <- c(33,  62,  75, 100, 150, 155, 167, 170, 171, 177, 178, 179)+capturas <- c(33, 62, 75, 100, 150, 155, 167, 170, 171, 177, 178, 179)
 area <- c(2, 4.5, 6, 10, 30, 34, 50, 56, 60, 77.5, 80, 85) area <- c(2, 4.5, 6, 10, 30, 34, 50, 56, 60, 77.5, 80, 85)
 conectada <- factor(c("​L",​ "​M",​ "​M",​ "​L",​ "​L",​ "​H",​ "​L",​ "​H",​ "​M",​ "​M",​ "​H",​ "​H"​),​ levels = c("​L",​ "​M",​ "​H"​)) conectada <- factor(c("​L",​ "​M",​ "​M",​ "​L",​ "​L",​ "​H",​ "​L",​ "​H",​ "​M",​ "​M",​ "​H",​ "​H"​),​ levels = c("​L",​ "​M",​ "​H"​))
Linha 85: Linha 85:
 No pacote ''​graphics''​ há duas maneiras de se especificar as variáveis em gráficos, como vimos anteriormente também no [[http://​ecor.ib.usp.br/​doku.php?​id=02_tutoriais:​tutorial4:​start#​graficos_bivariados|tutorial de análise exploratória de dados]]: No pacote ''​graphics''​ há duas maneiras de se especificar as variáveis em gráficos, como vimos anteriormente também no [[http://​ecor.ib.usp.br/​doku.php?​id=02_tutoriais:​tutorial4:​start#​graficos_bivariados|tutorial de análise exploratória de dados]]:
  
-  * Nome ou posição dos argumentos: ​ ''​fungraph(x = a , y = b)''​+  * Nome ou posição dos argumentos: ''​fungraph(x = a , y = b)''​
  
   * Fórmula estatística:​ ''​fungraph(b ~ a, data = dados)''​   * Fórmula estatística:​ ''​fungraph(b ~ a, data = dados)''​
Linha 113: Linha 113:
 <WRAP center round tip 60%> <WRAP center round tip 60%>
  
-Note que a primeira linha de código acima utilizou os objetos de vetores (''​area''​ e ''​riqueza''​),​ enquanto a segunda utiliza as variáveis que estavam no objeto ''​frags'',​ usando os nomes das colunas deste objeto. Além disso, a segunda linha de código utiliza a fórmula estatística,​ com  o símbolo ''​~''​. Vamos usar esse último formato a partir de agora.+Note que a primeira linha de código acima utilizou os objetos de vetores (''​area''​ e ''​riqueza''​),​ enquanto a segunda utiliza as variáveis que estavam no objeto ''​frags'',​ usando os nomes das colunas deste objeto. Além disso, a segunda linha de código utiliza a fórmula estatística,​ com o símbolo ''​~''​. Vamos usar esse último formato a partir de agora.
  
 </​WRAP>​ </​WRAP>​
Linha 153: Linha 153:
 <code rsplus> <code rsplus>
 par( ) par( )
 +par( )$pch
 +par( )$cex
 </​code>​ </​code>​
  
Linha 197: Linha 199:
 </​code>​ </​code>​
  
-No código acima o ''​cex''​ no ''​par''​ utiliza o fator de incremento para todos os elementos do gráfico, enquanto que localmente o mesmo parâmetro no ''​plot''​ usa esse fator apenas para incrementar os símbolos associados às observações. Note também que abrimos uma nova janela com a função ''​x11''​((caso esteja usando um Mac, pode ter problemas para abrir a janela, nesse caso use ''​quartz()''​)) para compararmos os dois gráficos. Por padrão o R sempre sobrescreve o gráfico na janela ativa e torna ativa a janela recém aberta. ​+No código acima o ''​cex''​ no ''​par''​ utiliza o fator de incremento para todos os elementos do gráfico, enquanto que localmente o mesmo parâmetro no ''​plot''​ usa esse fator apenas para incrementar os símbolos associados às observações. Note também que abrimos uma nova janela com a função ''​x11''​((caso esteja usando um Mac, pode ter problemas para abrir a janela, nesse caso use ''​quartz()''​)) para compararmos os dois gráficos. Por padrãoo R sempre sobrescreve o gráfico na janela ativa e torna ativa a janela recém aberta. ​
  
  
Linha 206: Linha 208:
  
 <WRAP center round box 90%> <WRAP center round box 90%>
-**__CoRes__**+**__coRes__**
  
 O R tem vários métodos para atribuição de cores. Os mais comuns são valores inteiros e o nome, veja alguns exemplos: O R tem vários métodos para atribuição de cores. Os mais comuns são valores inteiros e o nome, veja alguns exemplos:
  
 {{:​02_tutoriais:​tutorial5:​coloRs.png?​900|}} {{:​02_tutoriais:​tutorial5:​coloRs.png?​900|}}
 +
 +Use o comando ''​colors()''​ para ver todos os nomes de cores.
  
 </​WRAP>​ </​WRAP>​
Linha 271: Linha 275:
 =====Inserindo mais Informações em Gráficos===== =====Inserindo mais Informações em Gráficos=====
  
-Uma outra lógica dos gráficos no R é que os elementos grafados não são apagados, mas podemos inserir novos elementos que serão sobrepostos aos que já existem. ​ Para inserirmos elementos utilizamos as funções subordinadas às funções de alto nível que só operam se houver um dispositivo ativo e com um gráfico iniciado.+Uma outra lógica dos gráficos no R é que os elementos grafados não são apagados, mas podemos inserir novos elementos que serão sobrepostos aos que já existem. Para inserirmos elementos utilizamos as funções subordinadas às funções de alto nível que só operam se houver um dispositivo ativo e com um gráfico iniciado.
  
 A seguir apresentamos alguns exemplos de funções para se inserir informações em gráficos. A seguir apresentamos alguns exemplos de funções para se inserir informações em gráficos.
Linha 278: Linha 282:
 ==== lines() ==== ==== lines() ====
  
-Função para inserir linhas retas ou curvas não-paramétricas utilizando alguma estimativa como ''​lowess'',​ ''​loess''​ e  ''​gam''​.+Função para inserir linhas retas ou curvas não-paramétricas utilizando alguma estimativa como ''​lowess'',​ ''​loess''​ e ''​gam''​.
 <code rsplus> <code rsplus>
 plot(cap ~ ha , data = frags) plot(cap ~ ha , data = frags)
Linha 288: Linha 292:
  
 <code rsplus> <code rsplus>
-##Duracao em minutos ​ das erupções do Faithful Geiser, Yellowstone+##Duracao em minutos das erupções do Faithful Geiser, Yellowstone
 ## Objeto faithful do pacote datasets ## Objeto faithful do pacote datasets
  
Linha 339: Linha 343:
  
 <code rsplus> <code rsplus>
-text(x = 63, y = 31, labels = "<- olha esse dados!"​) +text(x = 70, y = 31, labels = "<- olha esse dados!"​) 
-text(x = frags$ha, y = frags$riq + 0.9, labels = LETTERS[1: nrow(frags)],​ cex = 0.7)+text(x = frags$ha, y = frags$riq + 1.1, labels = LETTERS[1: nrow(frags)],​ cex = 0.7)
 </​code>​ </​code>​
  
Linha 387: Linha 391:
 <code rsplus> <code rsplus>
  
-rect(xleft = 25, ybottom = 22, xright = 41,  ytop = 32, col = rgb(red = 1,green= 0, blue = 0, alpha = 0.1)) +rect(xleft = 25, ybottom = 22, xright = 41, ytop = 32, col = rgb(red = 1,green= 0, blue = 0, alpha = 0.1)) 
  
 </​code>​ </​code>​
Linha 395: Linha 399:
 __**coRes**__ __**coRes**__
  
-Um outro método para indicar cores no R é o [[https://​pt.wikipedia.org/​wiki/​RGB|RGB]],​ o sistema de combinação de vermelho, verde e azul. Uma das vantagem desse sistema, além de possibilitar uma infinidade de cores e tonalidades, ​ é que ele permite a inclusão da transparência da cor através do argumento ''​alpha''​ da função ''​rgb''​.  ​+Um outro método para indicar cores no R é o [[https://​pt.wikipedia.org/​wiki/​RGB|RGB]],​ o sistema de combinação de vermelho, verde e azul. Uma das vantagem desse sistema, além de possibilitar uma infinidade de cores e tonalidades,​ é que ele permite a inclusão da transparência da cor através do argumento ''​alpha''​ da função ''​rgb''​.  ​
  
 {{  :​02_tutoriais:​tutorial5:​rgb-color-model.jpg?​400 ​ |}} {{  :​02_tutoriais:​tutorial5:​rgb-color-model.jpg?​400 ​ |}}
Linha 408: Linha 412:
 ==== Um exemplo ==== ==== Um exemplo ====
  
-{{youtube>​ObHgPlVADRw}}+{{ youtube>​ObHgPlVADRw }}
  
 </​WRAP>​ </​WRAP>​
Linha 419: Linha 423:
 par(mfrow = c(1, 2)) par(mfrow = c(1, 2))
 plot(riq ~ ha, data = frags) plot(riq ~ ha, data = frags)
-boxplot(riq ~ con, data = frags)+boxplot(riq ~ con, data = frags, col = "​white"​)
 </​code> ​ </​code> ​
  
Linha 425: Linha 429:
 <WRAP center round box 90%> <WRAP center round box 90%>
  
-{{:​02_tutoriais:​tutorial5:​grafrag03.png|}}+{{ :​02_tutoriais:​tutorial5:​grafrag03.png | }}
  
 </​WRAP>​ </​WRAP>​
Linha 444: Linha 448:
 par(mfrow = c(1, 2), mar = c(4, 4, 1, 1), family = "​serif",​ las = 1, mgp = c(2.5, 0.8, 0), cex = 1.2 ) par(mfrow = c(1, 2), mar = c(4, 4, 1, 1), family = "​serif",​ las = 1, mgp = c(2.5, 0.8, 0), cex = 1.2 )
 plot(riq ~ ha, data = frags) plot(riq ~ ha, data = frags)
-boxplot(riq ~ con, data = frags)+boxplot(riq ~ con, data = frags, col = "​white"​)
 </​code> ​ </​code> ​
  
Linha 493: Linha 497:
        col = c("​red",​ "​cornflowerblue",​ "​aquamarine4"​),​ pch = c(15, 16, 17), bty = "​n"​)        col = c("​red",​ "​cornflowerblue",​ "​aquamarine4"​),​ pch = c(15, 16, 17), bty = "​n"​)
  
-boxplot(riq ~ con, data = frags)+boxplot(riq ~ con, data = frags, col = "​white"​)
 </​code> ​ </​code> ​
  
 <WRAP center round box 90%> <WRAP center round box 90%>
-{{:​02_tutoriais:​tutorial5:​grafrag04.png|}}+{{ :​02_tutoriais:​tutorial5:​grafrag04.png |}}
 </​WRAP>​ </​WRAP>​
  
Linha 525: Linha 529:
 par(bty = "​n",​ mar = c(4, 1, 1,1)) par(bty = "​n",​ mar = c(4, 1, 1,1))
 boxplot(riq ~ con, data = frags, ylim = c(12, 45), ann = FALSE, xaxt = "​n",​ yaxt = "​n",​ col = "​gray90"​) boxplot(riq ~ con, data = frags, ylim = c(12, 45), ann = FALSE, xaxt = "​n",​ yaxt = "​n",​ col = "​gray90"​)
-mtext(text = c("​baixa",​ "​média",​ "​alta"​),​ side = 1, line = 0.5,  at = c(1, 2, 3),  cex = 1.5)+mtext(text = c("​baixa",​ "​média",​ "​alta"​),​ side = 1, line = 0.5, at = c(1, 2, 3), cex = 1.5)
 mtext("​Conectividade",​ side = 1, line = 2.5, cex = 1.7) mtext("​Conectividade",​ side = 1, line = 2.5, cex = 1.7)
 </​code> ​ </​code> ​
Linha 531: Linha 535:
 <WRAP center round box 90%> <WRAP center round box 90%>
  
-{{:​02_tutoriais:​tutorial5:​grafrag05.png|}} +{{ :​02_tutoriais:​tutorial5:​grafrag05.png | }} 
 + 
 </​WRAP>​ </​WRAP>​
  
Linha 550: Linha 554:
 <code rsplus> <code rsplus>
 graphics.off() graphics.off()
-jpeg(filename = "​graficoFrags.jpg",​ width = 960, height = 480, units = "​px",​ pointsize = 12, quality = 100,  bg = "​white", ​ res = NA)+jpeg(filename = "​graficoFrags.jpg",​ width = 960, height = 480, units = "​px",​ pointsize = 12, quality = 100, bg = "​white",​ res = NA)
 par(mfrow = c(1, 2), mar = c(4, 4, 1, 1), family = "​serif",​ las = 1, mgp = c(2.5, 0.8, 0), cex = 1.2 ) par(mfrow = c(1, 2), mar = c(4, 4, 1, 1), family = "​serif",​ las = 1, mgp = c(2.5, 0.8, 0), cex = 1.2 )
 plot(riq ~ ha, data = frags, xlab = "Área (ha)", ylab = "​Riqueza",​ cex = 1.5, cex.lab = 1.5, cex.axis = 1.2, bty = "​l",​ ylim = c(12, 45), pch = c(15, 16, 17)[frags$con],​ col = c("​red",​ "​cornflowerblue",​ "​aquamarine4"​)[frags$con]) plot(riq ~ ha, data = frags, xlab = "Área (ha)", ylab = "​Riqueza",​ cex = 1.5, cex.lab = 1.5, cex.axis = 1.2, bty = "​l",​ ylim = c(12, 45), pch = c(15, 16, 17)[frags$con],​ col = c("​red",​ "​cornflowerblue",​ "​aquamarine4"​)[frags$con])
Linha 556: Linha 560:
 par(bty = "​n",​ mar = c(4, 1, 1,1)) par(bty = "​n",​ mar = c(4, 1, 1,1))
 boxplot(riq ~ con, data = frags, ylim = c(12, 45), ann = FALSE, xaxt = "​n",​ yaxt = "​n",​ col = "​gray90"​) boxplot(riq ~ con, data = frags, ylim = c(12, 45), ann = FALSE, xaxt = "​n",​ yaxt = "​n",​ col = "​gray90"​)
-mtext(text = c("​baixa",​ "​média",​ "​alta"​),​ side = 1, line = 0.5,  at = c(1, 2, 3),  cex = 1.5)+mtext(text = c("​baixa",​ "​média",​ "​alta"​),​ side = 1, line = 0.5, at = c(1, 2, 3), cex = 1.5)
 mtext("​Conectividade",​ side = 1, line = 2.5, cex = 1.7) mtext("​Conectividade",​ side = 1, line = 2.5, cex = 1.7)
 dev.off() dev.off()
02_tutoriais/tutorial5/start.1692650253.txt.gz · Última modificação: 2023/08/21 17:37 por 127.0.0.1