capaartogo fara

Dicas de pacotes no R – Parte 1

Aprenda sobre dois pacotes interessantes para análise gráfica

Artigo escrito por Rafael Toledo

Neste artigo iremos apresentar dois pacotes do software R que têm como finalidade auxiliar na construção de gráficos para análise gráfica. Os pacotes são patchwork e ggiraph, sendo que o primeiro pacote é responsável pela criação de composições gráficas, enquanto o segundo pacote torna dinâmico os gráficos gerados com o pacote ggplot2.

Pacote patchwork: Composições gráficas

O objetivo do pacote patchwork é tornar simples a combinação de ggplots separados no mesmo gráfico. Por meio deste pacote é possível construir composições com vários gráficos de maneira rápida e fácil.

instalação do pacote é feita por meio da função install.packages(“patchwork”).

# install.packages("ggplot2") # Instalando o pacote ggplot2 - Análise gráfica
# install.packages("patchwork") - Instalando o pacote patchwork - Composições gráficas

library(ggplot2) # Carregando a biblioteca do pacote ggplot2
library(patchwork) # Carregando a biblioteca do pacote patchwork

Usando novamente o conjunto de dados mtcars, iremos construir quatro gráficos e realizar a composição desses gráficos. Este pacote é útil quando o intuito é apresentar vários gráficos em uma mesma figura.

# Conjunto de dados do R
mtcars <- mtcars
attach(mtcars)

# Construção dos gráficos
grafico_1 <- ggplot(mtcars) +
  geom_point(aes(mpg, disp)) +
  ggtitle('Gráfico 1')

grafico_2 <- ggplot(mtcars) +
  geom_boxplot(aes(gear, disp, group = gear)) +
  ggtitle('Gráfico 2')

grafico_3 <- ggplot(mtcars) +
  geom_point(aes(hp, wt, colour = mpg)) +
  ggtitle('Gráfico 3')

grafico_4 <- ggplot(mtcars) +
  geom_bar(aes(gear)) +
  facet_wrap(cyl) +
  ggtitle('Gráfico 4')

Criando composições

Composição 1

Usamos o operador + ou | para colocar os gráficos lado a lado (colunas). Veja o exemplo abaixo:

grafico_1 + grafico_2 + grafico_3
# Outra forma:
# grafico_1 | grafico_2| grafico_3

Composição 2

Usamos o operador / para colocar os gráficos em cada linha. Veja o exemplo abaixo:

grafico_1 / grafico_2

Composição 3: Combinando os dois operadores

(grafico_1 + grafico_2 + grafico_3) / grafico_4
 (grafico_3+(grafico_1 / grafico_2))/grafico_4

Utilizando os dois operadores, é possível realizar diversas combinações gráficas de acordo com o objetivo, bem como organizar o código.

Modificando as composições

O pacote permite que possamos realizar algumas mudanças nas composições criadas, como por exemplo, incluir títulos e subtítulos. Vamos exemplificar a inclusão de título, subtítulo e fonte por meio da função plot_annotation. Esta função permite a inclusão de anotações nos gráficos, o que facilita e ajuda na estética dos gráficos das respectivas composições. Vale ressaltar que o tema escolhido e definido no código será aplicado a todos os demais gráficos. Dessa forma, temos o resultado da composição final definido da seguinte forma:

((
  # Gráfico
  
  (# Primeira linha
  (grafico_1 + grafico_2) /
   # Segunda linha
    grafico_4)
) +
  
  plot_annotation(
    title = "Título",
    subtitle = "Subtítulo",
    caption = "Fonte dos dados"
  )) &
  theme_bw()

Pacote ggiraph: Gráficos ggplot dinâmicos

O pacote ggiraph é uma ferramenta que permite criar gráficos ggplot dinâmicos no software R. O objetivo desse pacote é possibilitar a construção de gráficos dinâmicos pacote ggplot2. Ele é utilizado quando se deseja fornecer aos leitores mais informações do que apenas o layout padrão de informações básicas disponíveis. Pode ser considerado uma alternativa caso não tenha utilizado outros pacotes como plotly e highcharter.

instalação do pacote é feita por meio da função install.packages(“ggiraph”). Vale ressaltar que é necessário ter instalado o pacote ggplot2 no software R, pois o ggiraph utiliza das funções do ggplot2 para criar os gráficos dinâmicos.

# Instalando os pacotes e carregando as bibliotecas

# install.packages("ggplot2") # Instalando o pacote ggplot2 - Análise gráfica
# install.packages("ggiraph") # Instalando o pacote ggiraph - Gráfico dinâmico

library(ggplot2) # Carregando a biblioteca do pacote ggplot2
library(ggiraph) # Carregando a biblioteca do pacote ggiraph

Vamos criar uma nova coluna com as linhas dos nomes dos carros do conjunto de dados. E após a criação desta coluna, construiremos um gráfico de pontos com o pacote ggplot2.

dados <- mtcars

# Criando uma coluna nomeada names_carros com as linhas dos nomes dos carros
dados$names_carros <- row.names(dados)

# Construindo gráfico de pontos com ggplot2 
grafico_pontos = ggplot(data = dados) +
  geom_point_interactive(aes(x = wt, y = qsec, color = disp,
                             tooltip = names_carros, data_id = names_carros)) + 
  theme_minimal()

Após a construção do gráfico de pontos com o pacote ggplot2, é possível transformar o referido gráfico em dinâmico por meio da função girafe(). Abaixo são apresentados duas formas distintas de usar a referida função:

# Gráfico dinâmico com ggiraph
girafe(ggobj = grafico_pontos) 
girafe(code = print(grafico_pontos))

Na figura acima é possível visualizar que o gráfico de pontos para o conjunto de dados mtcars do R. Foram utilizadas as variáveis “disp” (Displacement (cu.in.) – Deslocamento) e “qsec” (1/4 mile time – tempo milha), e nota-se que o gráfico agora é dinâmico.

O que isso quer dizer? Ao passar o cursor do mouse em um determinado ponto, é possível obter a informação referente aquele ponto. No exemplo da figura é possível saber qual veículo está em cada ponto.

Gostou? Não se esqueça de acompanhar o blog para os próximos artigos com dicas de pacotes do R. Qualquer dúvida deixe nos comentários!

Referências

Documentação do conjunto de dados mtcars: Disponível em: https://www.rdocumentation.org/packages/datasets/versions/3.6.2/topics/mtcars

Documentação do pacote ggiraph: Disponível em: https://cran.r-project.org/web/packages/ggiraph/index.html

Github: Disponível em: https://davidgohel.github.io/ggiraph/

Share the Post:

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Related Posts