R ou Python? Qual a melhor ferramenta para trabalhar com Ciência de Dados?

Já vou começar este texto opinativo com a resposta definitiva para a pergunta do título:

Qual é a melhor ferramenta para Análise de Dados?

A melhor ferramenta para análise dados é a ferramenta que o usuário mais conhece. Seja Excel, R, python, Minitab, SAS, SPSS ou qualquer outra. O que importa é obter os resultados desejados de maneira rápida e confiável. Cada usuário vai ter necessidades diferentes e é muito provável que a melhor ferramenta para uma pessoa não sirva para outra.

Isto posto, afirmo que a minha linguagem preferida de programação para análise de dados é o R. Ela não é a linguagem mais popular do mundo, nem a mais rápida e nem a mais simples de aprender. Entretanto, é a que me serve melhor para aquilo que eu faço.

Por que usar uma linguagem de programação para analisar dados?

O principal motivo é a documentação do processo de análise de dados. De maneira geral, ao utilizar uma ferramenta como Excel ou SPSS, o usuário não documenta aquilo que faz. Ele clica nos menus, obtém o seu resultado e termina o seu serviço. Não há nada de errado em fazer isso. O problema é que análises mais complexas acabam gerando mais passos intermediários entre a importação de dados e o resultado final da análise. A imagem abaixo, adaptada do livro R for Data Science, exemplifica bem como é o workflow geral de uma análise de dados do início ao fim:

Perceba que há muitos passos envolvidos. O processo completo, que começa pela importação dos dados, passa pela modelagem e finaliza na comunicação dos resultados, envolve muitos passos diferentes. Em especial, a parte destacada pelo retângulo azul, pode demorar muito. Encontrar o modelo ideal para os dados não é uma tarefa trivial. Assim, documentar estes passos é fundamental não apenas para que consigamos organizar nossas ideias, mas também para informar os outros membros da nossa equipe a respeito do trabalho que realizamos.

Por que usar o R para analisar dados?

A figura abaixo, obtida no site da linguagem julia, compara a velocidade de diversas linguagens de programação:

Note que R não é a mais rápida em nenhuma tarefa. Mesmo assim, prefiro utilizá-la porque escrevo código mais rápido nesta linguagem. O ganho de performance que eu teria rodando código em python seria perdido na hora de escrever os programas, pois sempre tenho que ficar checando manuais quando uso python. Ocorre o oposto quando uso R, pois sou fluente na linguagem e escrevo código para ela como escrevo meus textos em português ou em inglês.

O R apresenta algumas outras facilidades que eu já não consigo viver sem. Como preparo muito material didático, esta linguagem permite que eu mescle conteúdo teórico, trechos de códigos e outputs de programas de maneira muito prática. Sério, dá uma olhada neste material do Workshop de R Básico que ministro e veja como a qualidade gráfica é impressionante. Faz quase 10 anos que uso R Sweave e seu sucessor RMarkdown com muito sucesso e não tenho interesse em aprender uma nova ferramenta se as que conheço atualmente já me satisfazem a contento.

Acabei utilizando esta característica do R para criar aplicações do RMarkdown em outras áreas. Por exemplo, os relatórios dos alunos que participam do meu projeto de consultoria estatística gratuita são escritos usando RMarkdown, através de um pacote que eu mesmo criei.

Conclusão

Eu uso R porque ele facilita a minha vida. Programo na linguagem desde 2008 e, antes disso, utilizei S-Plus, sua versão proprietária. Por isso, o R é a minha opção preferida para analisar dados, preparar material didático e escrever relatórios e artigos científicos.


comments powered by Disqus