Interface “drag and drop” para construção de gráficos no R
A linguagem R possui excelentes recursos para uma boa análise descritiva, principalmente quando o assunto é visualização de dados. No entanto, a necessidade de digitar algumas linhas de código para conseguir plotar determinado gráfico pode complicar o trabalho de quem ainda não tem tanta fluência com a linguagem, pois convenhamos que interromper toda hora a nossa linha de raciocínio para pesquisar “como fazer” atrapalha um pouco.
O ggplot2 é um excelente pacote para visualização de dados, inclusive publiquei este post sobre ele, porém é necessário um pouco de prática até adquirir fluência para redigir suas linhas de código e, consequentemente, plotar os visuais desejados, entretanto, o pacote esquisse pode tornar a nossa vida um pouco mais fácil.
De acordo com a documentação do pacote, o esquisse é um add-in que nos permite explorar interativamente os dados, visualizando-os com o pacote ggplot2. Em outras palavras, ao invés de digitar linhas de código, basicamente o que precisamos é arrastar a soltar as variavés e pronto, o gráfico está construído!
Vamos ver como esta mágica funciona.
Passo a passo
Para este exemplo de uso vamos precisar somente dos pacotes esquisse e ggplot2:
install.packages("esquisse") install.packages("ggplot2")
Em seguida carregamos os pacotes:
library(esquisse) library(ggplot2)
A idéia aqui é utilizar o famoso conjunto de dados iris.
data(iris)
Aqui as primeiras linhas do dataset:
head(iris)
Uma vez que os pacotes e o dataset estão carregados, basta chamar a função esquisser() passando o dataset como argumento:
esquisser(iris)
E agora começa a brincadeira. Escolhi aleatoriamente a variável Sepal.Length e arrastei para o eixo x. Um histograma foi gerado automaticamente:
Dependendo das variáveis em questão, é possível alterar o tipo do gráfico:
Mas vamos continuar com o histograma. No menu Plot options encontramos configurações específicas do tipo de gráfico. Neste caso, podemos alterar, por exemplo, o número de bins:
No menu Data é possível aplicar filtros no dataset:
Arrastanto, por exemplo, a variável Petal.Length para o eixo y, temos um gráfico de dispersão:
Podemos aumentar o tamanho dos pontos e alterar a cor, por exemplo:
Ainda no menu Plot options é possível incluir uma curva de regressão não paramétrica, ativando Smooth line:
Arrastando uma variável categórica para group, agrupamos por categoria:
Podemos criar facetas apenas arrastando uma variável categórica para facet:
Para melhorar a visualização, podemos alterar o tema em Plot options:
Arrastando uma variável numérica para size, os tamanhos dos pontos são ajustados proporcionalmente:
Podemos também criar um gráfico de barras. Para isto, basta arrastar uma variável categórica para o eixo x:
Arrastando, por exemplo, a variável Sepal.Width para o eixo y, temos boxplots:
E para colorir os gráficos em função de uma variável, basta arrastar a respectiva variável para fill:
Podemos customizar título, subtítulo, legenda e etc…
E a ótima notícia para quem não domina o ggplot2: em Export & code é possível copiar o código gerado:
Perceba que o gráfico gerado através do código exportado é exatamente o mesmo:
ggplot(iris) + aes(x = Species, y = Sepal.Width, fill = Species) + geom_boxplot() + scale_fill_hue() + labs(x = "Nome da Espécie", y = "Largura da Sépala", title = "Espécies de Iris", subtitle = "Exemplo utilizando Esquisse", caption = "Gráfico 1", fill = "Espécie") + theme_minimal()
Considerações finais
A página do esquisse diz que o objetivo deste pacote é permitir a exploração rápida dos dados para extrair informações, mas alerta que não é possível ainda utilizar todo o poder do ggplot2. Ou seja, o esquisse esta aí para agilizar a nossa análise, mas diante da necessidade de gráficos com detalhes mais complexos, talvez não seja possível através dessa interface. Portanto faça bom uso do esquisse nas suas análises mas não deixe de praticar o ggplot2 raíz (por linhas de código).
Por Antonio Júnior
https://www.linkedin.com/in/juniorssz/
Referências e materiais úteis
- https://dreamrs.github.io/esquisse/
- https://github.com/rstudio/cheatsheets/blob/master/data-visualization-2.1.pdf
- https://rstudio.com/wp-content/uploads/2016/03/ggplot2-cheatsheet-portuguese.pdf
- https://www.datanovia.com/en/lessons/introduction-to-ggplot2/
- http://leg.ufpr.br/~walmes/cursoR/data-vis/03-vis-ggplot2.html
Vídeo Esquisse e live: