Ferramentas do usuário

Ferramentas do site


02_tutoriais:tutorial5b: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:tutorial5b:start [2020/09/29 22:29]
rafael.melhem [Inserindo os dados]
02_tutoriais:tutorial5b:start [2023/08/26 11:24] (atual)
Linha 2: Linha 2:
   * [[02_tutoriais:​tutorial5b:​start|Tutorial]]   * [[02_tutoriais:​tutorial5b:​start|Tutorial]]
   * [[01_curso_atual:​exercicios5b| Exercícios]]   * [[01_curso_atual:​exercicios5b| Exercícios]]
-  * [[03_apostila:​05a-graficos| Apostila]] ​ +  * [[03_apostila:​10-graficos02| Apostila]] ​
 </​WRAP>​ </​WRAP>​
 ====== 5b. Gráficos II: um procedimento ====== ====== 5b. Gráficos II: um procedimento ======
  
-<WRAP center round box 40%> +<WRAP center round box 60%> 
-{{youtube>​cmyd36V9Iow}}+{{ youtube>​cmyd36V9Iow }}
 </​WRAP>​ </​WRAP>​
  
-Nesse tutorial apresentamos um procedimento para a construção de gráficos no R, incluindo cada elemento separadamente. O objetivo é mostrar como é possível editar e incluir elementos gráficos da forma que desejar, o que permite a construção de gráficos muito complexos. Utilizaremos ​para exemplificar o procedimento adotado para produzir ​o gráfico publicado por uma de nossas primeiras alunas.+Nesse tutorial apresentamos um procedimento para a construção de gráficos no R, incluindo cada elemento separadamente. O objetivo é mostrar como é possível editar e incluir elementos gráficos da forma que desejar, o que permite a construção de gráficos muito complexos. Utilizaremos o gráfico publicado por uma de nossas primeiras alunas ​para exemplificar o procedimento adotado para produzir gráficos no R.
  
  
-O procedimento ​têm inicio ​com um esboço do gráfico. Nesse caso, fizemos um esboço no guardanapo de papel em um boteco. Essa é a parte mais complicada, imaginar algo que represente os nossos dados de forma sintética, de fácil leitura, esteticamente agradável e adequado à revista em que será publicado. ​+O procedimento ​tem início ​com um esboço do gráfico. Nesse caso, fizemos um esboço no guardanapo de papel em um boteco. Essa é a parte mais complicada, imaginar algo que represente os nossos dados de forma sintética, de fácil leitura, esteticamente agradável e adequado à revista em que será publicado. ​
  
  
Linha 27: Linha 27:
  
  
-Para simplificar nosso procedimento neste tutorial, vamos produzir apenas ​ uma variação de um dos paineis. Ou seja, queremos algo como:+Para simplificar nosso procedimento neste tutorial, vamos produzir apenas uma variação de um dos painéis. Ou seja, queremos algo como:
  
 <WRAP center round box 60%> <WRAP center round box 60%>
Linha 34: Linha 34:
  
  
-Apesar de ser um gráfico simples, apresenta algumas complicações inerentes ao tipo de gráfico que não é padrão. ​ +Apesar de ser um gráfico simples, apresenta algumas complicações inerentes ao tipo de gráfico que não é padrão. ​
  
 ===== Abrindo o dispositivo ===== ===== Abrindo o dispositivo =====
Linha 53: Linha 53:
 ===== Criando o layout ===== ===== Criando o layout =====
  
-Como os elementos da legenda do eixo à direita são complexos, vamos tratá-los como um painel ​parte. No [[02_tutoriais:​tutorial5:​start|primeiro tutorial de gráficos]] utilizamos o parâmetro ''​mfrow''​ para dividir o dispositivo gráfico em partes simétricas. ​ A função ''​layout''​ é mais flexível e permite criar painéis de diferentes tamanhos no dispositivo gráfico. No nosso caso, vamos criar duas colunas, a esquerda com 80%  da largura total e a direita com 20% restante. O primeiro argumento da função é uma matriz com a sequência com que os painéis irão ser desenhados ((Para juntar painéis em um único elemento basta indicar o mesmo valor na matriz)). ​ +Como os elementos da legenda do eixo à direita são complexos, vamos tratá-los como um painel ​à parte. No [[02_tutoriais:​tutorial5:​start|primeiro tutorial de gráficos]] utilizamos o parâmetro ''​mfrow''​ para dividir o dispositivo gráfico em partes simétricas. A função ''​layout''​ é mais flexível e permite criar painéis de diferentes tamanhos no dispositivo gráfico. No nosso caso, vamos criar duas colunas, a esquerda com 80% da largura total e a direita com 20% restante. O primeiro argumento da função é uma matriz com a sequência com que os painéis irão ser desenhados ((Para juntar painéis em um único elemento basta indicar o mesmo valor na matriz)). ​
   ​   ​
 <code rsplus> <code rsplus>
Linha 67: Linha 67:
 <code rsplus> <code rsplus>
  
-par (mar = c(5, 4, 4, 3.5)) +par (mar = c(5, 1, 4, 5)) 
-plot(x = NULL, y = NULL, xlim = c(-1.5, 2.5), ylim = c(0.5, 7.5), type = "​n",​ yaxt = "​n",​ xlab = "​Effect Size (lnOR)",​ ylab = "", ​ main = "​SURVIVAL"​)+plot(x = NULL, y = NULL, xlim = c(-1.5, 2.5), ylim = c(0.5, 7.5), type = "​n",​ yaxt = "​n",​ xlab = "​Effect Size (lnOR)",​ ylab = "",​ main = "​SURVIVAL"​)
  
 </​code>​ </​code>​
Linha 74: Linha 74:
 ==== Linhas guias e eixo ==== ==== Linhas guias e eixo ====
  
-Em seguida continuamos ​inserido ​inserindo elementos. Abaixo utilizamos a função ''​abline'',​ a função que desenha linhas de regressão (y = ''​a''​ + ''​b''​x) utilizando os parâmetros ''​v''​ para linha vertical e ''​h''​ para linha horizontal. O parâmetro ''​lty''​ define o tipo de linha, no caso ''​2''​ é a linha tracejada. Outras funções também fazem essa tarefa, como por exemplo ''​segments''​ que usaremos mais a frente.+Em seguidacontinuamos inserindo elementos. Abaixo utilizamos a função ''​abline'',​ a função que desenha linhas de regressão (y = ''​a''​ + ''​b''​x) utilizando os parâmetros ''​v''​ para linha vertical e ''​h''​ para linha horizontal. O parâmetro ''​lty''​ define o tipo de linha, no caso ''​2''​ é a linha tracejada. Outras funções também fazem essa tarefa, como por exemplo ''​segments''​ que usaremos mais a frente.
  
 <code rsplus> <code rsplus>
Linha 82: Linha 82:
 </​code>​ </​code>​
  
-Utilizamos no código acima a função ''​axis''​ para construir o eixo e seus elementos. O lado do eixo é definido pela posição iniciando pelo eixo x como 1 e seguindo no sentido horário. ​ A posição 4 indica o eixo à direita.+Utilizamos no código acima a função ''​axis''​ para construir o eixo e seus elementos. O lado do eixo é definido pela posição iniciando pelo eixo x como 1 e seguindo no sentido horário. A posição 4 indica o eixo à direita.
 ==== Inserindo os dados ==== ==== Inserindo os dados ====
  
-A lógica desse método é incluir cada elemento separadamente para ter controle total na elaboração do gráfico. Abaixo inserimos os dados de adultos:+A lógica desse método é incluir cada elemento separadamente para ter controle total na elaboração do gráfico. Abaixo inserimos os resultados para os adultos:
  
 <code rsplus> <code rsplus>
Linha 95: Linha 95:
 </​code>​ </​code>​
  
-Agora os outros grupos:+Agora os resultados para os outros grupos:
  
 <code rsplus> <code rsplus>
Linha 123: Linha 123:
 ===== Segundo painel ===== ===== Segundo painel =====
  
-Esse painel foi criado para acrescentar a legenda da direita com suas particularidades. As margens ​dos gráfico não permitem edições complexas. Caso o gráfico tenha elementos nas margens, uma solução é tratar a margem como um painel. Como fizemos no painel anterior primeiro ajustamos os parâmetros globais e, em seguida criamos um espaço de coordenadas cartesianas para posicionar os elementos em um espaço vazio. ​  ​+Esse painel foi criado para acrescentar a legenda da direita com suas particularidades. As margens ​do gráfico não permitem edições complexas. Caso o gráfico tenha elementos nas margens, uma solução é tratar a margem como um painel. Como fizemos no painel anteriorprimeiro ajustamos os parâmetros globais e, em seguidacriamos um espaço de coordenadas cartesianas para posicionar os elementos em um espaço vazio. ​
  
  
 <code rsplus> <code rsplus>
  
-par (mar=c(5,4,4,5))#controla tamanhos das margens+par (mar=c(5,2,4,3)) #controla tamanhos das margens
 plot(x=NULL,​y=NULL,​ xlim=c(0, 2), ylim=c(0.5, 7.5),​type="​n",​ xaxt="​n",​ yaxt="​n",​xlab="",​ ylab="",​ bty="​n"​) plot(x=NULL,​y=NULL,​ xlim=c(0, 2), ylim=c(0.5, 7.5),​type="​n",​ xaxt="​n",​ yaxt="​n",​xlab="",​ ylab="",​ bty="​n"​)
 </​code>​ </​code>​
  
-Em seguida, acrescentamos os elementos e legendas de eixos. Entretanto, diferente do que fizemos no painel anterior, ​incluíndo ​cada elemento isoladamente,​ podemos colocar elementos de mesmo tipo juntos, tirando proveito da operação vetorizada das funções e tornando o código mais sintético. +Em seguida, acrescentamos os elementos e legendas de eixos. Entretanto, diferente do que fizemos no painel anterior, ​incluindo ​cada elemento isoladamente,​ podemos colocar elementos de mesmo tipo juntos, tirando proveito da operação vetorizada das funções e tornando o código mais sintético. 
-.+
  
 <code rsplus> <code rsplus>
Linha 144: Linha 144:
 ===== Salvando o gráfico ===== ===== Salvando o gráfico =====
  
-Para salvar o gráfico em um arquivo, pode-se utilizar a função <code rsplus>​savePlot</​code>​Caso esteja usando o RStudio, antes, inicie uma janela gráfica com a função ''​X11()''​((no windows pode usar a função ''​windows()''​ e no MacOSx pode precisar usar a função ''​quartz()''​ )). Para ter mais controle da qualidade gráfica é necessário usar um dispositivo de arquivo (funções ''​tiff'',​ ''​jpeg'',​ ''​png'',​ por exemplo).+Para salvar o gráfico em um arquivo, pode-se utilizar a seguinte ​função<code rsplus>​savePlot</​code>​ Caso esteja usando o RStudio, antes, inicie uma janela gráfica com a função ''​X11()''​((no windows pode usar a função ''​windows()''​ e no MacOSx pode precisar usar a função ''​quartz()''​ )). Para ter mais controle da qualidade gráfica é necessário usar um dispositivo de arquivo (funções ''​tiff'',​ ''​jpeg'',​ ''​png'',​ por exemplo).
  
 <code rsplus> <code rsplus>
Linha 172: Linha 172:
  
  
-1. A continuação do nosso tutorial está no exercício do notar [[http://www.lage.ib.usp.br/notar/cadastra.php?​exerc=86| Finalizando o gráfico ]]+1. A continuação do nosso tutorial está no exercício do notar [[http://notar.ib.usp.br/exercicio/86| Finalizando o gráfico ]]
  
 {{  :​02_tutoriais:​tutorial5b:​metafigOK.png?​800 ​ |}} {{  :​02_tutoriais:​tutorial5b:​metafigOK.png?​800 ​ |}}
  
  
-2. Em seguida o desafio é fazer o [[http://www.lage.ib.usp.br/notar/exercicio.php?​exerc=93|gráfico Iris]] como a figura abaixo:+2. Em seguida o desafio é fazer o [[http://notar.ib.usp.br/exercicio/​93|gráfico Iris]] como a figura abaixo:
 {{  :​02_tutoriais:​tutorial5b:​irisGraf.png?​600 ​ |}} {{  :​02_tutoriais:​tutorial5b:​irisGraf.png?​600 ​ |}}
  
  
 <WRAP center round info 100%> <WRAP center round info 100%>
-3. Nesse wiki focamos no uso das ferramentas básicas do R e nesse tutorial no pacote ''​graphics''​ carregado por padrão na sessão do R. O pacote para elaboração de gráficos chamado ''​ggplot2''​ vem se tornando muito popular nos últimos anos, mas apresenta uma sintaxe muito diferente da usual no R o que nos parece não ser muito efetivo para o aprendizado da linguagem. Por essa razão, preferimos deixá-lo de fora do nosso material. ​+3. Nesse wiki focamos no uso das ferramentas básicas do R e nesse tutorial no pacote ''​graphics''​ carregado por padrão na sessão do R. O pacote para elaboração de gráficos chamado ''​ggplot2''​ vem se tornando muito popular nos últimos anos, mas apresenta uma sintaxe muito diferente da usual no Ro que nos parece não ser muito efetivo para o aprendizado da linguagem. Por essa razão, preferimos deixá-lo de fora do nosso material. ​
  
 Existem muitos bons tutoriais sobre o ''​ggplot2'',​ inclusive um ótimo feito pelo colaborador da disciplina Gustavo Burin Ferreira, caso tenha interesse acesse: Existem muitos bons tutoriais sobre o ''​ggplot2'',​ inclusive um ótimo feito pelo colaborador da disciplina Gustavo Burin Ferreira, caso tenha interesse acesse:
02_tutoriais/tutorial5b/start.1601429352.txt.gz · Última modificação: 2020/09/29 22:29 por rafael.melhem