A comparação entre as plataformas R e Python começou há um tempo quando resolvi experimentar um sistema para edição e processamento de scripts chamado Jupyter Notebook, o qual é desenvolvido em Python. Até então sempre usei R. Aparentemente seria um processo tranquilo de instalar um aplicativo, aí que o bicho pegou! Como resultado, escrevi o seguinte comentário no Linkedin:

“Para quem quer fugir das limitações do Excel rumo à para uma linguagem estatística e de negócios intuitiva, o caminho é o R (a minha visão até o momento). Fiz testes com o Python, seu concorrente, e fiquei bastante frustrado com a quantidade de parametrizações, centenas de pacotes interdependentes misturados, mal documentados e com diversas versões incompatíveis entre si. Dizem que a linguagem Python é super fácil e intuitiva, mas até ter a plataforma pronta para trabalhar, o analista de dados já perdeu a orientação de negócios e se tornou um técnico em infraestrutura de rede e sistemas operacionais. Aí o boi já foi com a corda…”

Resultado, não imaginaria o quão frutífera seria a discussão e por isso segue as reflexões neste post. Antes de falar propriamente do R ou Python, vou apontar algumas das limitações mais críticas do Excel no ponto de vista de gestor e analista de dados.

Vantagens do Excel

Primeiramente o Excel é uma ferramenta de análise tão poderosa e abrangente que concorre com praticamente tudo, desde o rascunho feito em papel de saco de pão até os sistemas mais avançados de gestão. Se você já desenvolveu software, já ouviu algo do tipo:

  • Mas isso eu não posso fazer em Excel?
  • Mas depois ele exporta pra Excel, né?

Além disso, algumas funcionalidades do Excel são matadoras. Por exemplo, quando ensinamos alguns alunos a função “Planilha Dinâmica” com 3 cliques, elas entram em estado de euforia plena (recomendo muito investigar isso, em inglês Pivot Table). Funcionalidade com garantia de muitas horas de trabalho economizadas. De fato, o Excel é uma ferramenta poderosíssima de análise e assim como a sua antecessora, a calculadora, ela é assetorizada (palavra nem existe em português, pois são poucas as ferramentas que podem rodar em qualquer área).

Limitações do Excel em Análise Avançada de Dados

Como uma solução de uso geral, as limitações do Excel para Advanced Analytics são:

  • Automação da higienização e tratamento de dados em grande escala para processamentos de algoritmos de mineração de dados.
  • Incompatibilidade com formatos de arquivos, geralmente devem ser transformados para .XLSX ou é necessário fazer algumas manobras por dentro dele para acertar a formação de “.CSV” por exemplo.
  • Os arquivos no seu formato “.XLSX” têm um limite de até 1.048.576 linhas e 16.384 colunas. A versão anterior “.XLS”, apenas 65.536 por 256 colunas. Dependendo da análise esse limite já se torna crítico.
  • Não é uma ferramenta gratuita como o seu concorrente direto LibreOffice ou Google Docs. O valor de mercado varia de R$ 500,00 a R$700,00 e deve ser pago, sobre tudo pelos profissionais que estiverem analisando dados de fraudes. O subconsciente não aceita bem essas situações.
  • A manutenção das customizações se torna caótica se forem implementadas muitas regras.
  • Difícil automatizar relatórios. Já ouvi muito, o jargão, “Vê lá com o guri do Excel”.

Características chaves do R e do Python

Abaixo, relaciono algumas características chaves (não todas, claro) destas ferramentas R e Python para Advanced Analytics:

  • Manipulação de dados em grandes quantidades.
  • Automação e replicabilidade das análises.
  • Leitura de diversos tipos de formatos diferentes de fontes diversas de informação, até em tempo real, incluindo o próprio .XLSX.
  • Gestão do projeto e manutenção dos códigos estruturados.
  • Gratuitos e de livre distribuição.
  • Multi-plataforma.
  • Integração com centenas de algoritmos de inteligência artificial conhecidos como Machine Learning.

Fazendo algumas pesquisas, achei este gráfico bastante relevante comparando a curva de aprendizado do R versus do Excel, que simplificando quer dizer que, coisas de pouca complexidade são fáceis de fazer em Excel e difíceis em R, já tarefas mais robustas são difíceis de fazer no Excel e fáceis no R. Pode se incluir o Python também junto ao R.

Dificuldade X Complexidade - Por Gordon Shotwell

Dificuldade X Complexidade – Por Gordon Shotwell

Tendo a oportunidade de conhecer o cenário de trabalho das principais empresas do país,  a grande maioria da minha amostragem pessoal, está lá na dificuldade 75  do eixo Y do Excel com uma série de cobranças por resultados práticos que, às vezes, são feitas apenas pela intuição. Poucos estão conseguindo chegar a aplicações reais de Machine Learning, por culpa deste gargalo no meio do caminho da preparação dos dados. Dizemos que o tratamento de dados garante emprego e renda.

Afinal, é melhor aprender R ou Python?

Cientista de dados, ocupam grande parte da cognição analisando duas coisas:

  • Dados.
  • Ferramentas de análise de dados (sempre estão surgindo coisas novas).

Levando em consideração a limitação de tempo para estudo, e que os finais de semana são finitos, as linguagens R e Python acabam colidindo e gerando uma bifurcação no caminho dos analistas que devem decidir entre uma ou a outra para resolver os gargalos do Excel. Abaixo está o sumário dos comentários mais interessantes que vi no Linkedin, e espero que isso possa ajudar quem está enfrentando este dilema:

O ideal é aprender as duas linguagens, mas a decisão parece depender principalmente do background profissional e dos objetivos do analista como segue:

  • Se o background está baseado na área de gestão como: administração, economia e contabilidade e seu objetivo é a tomada de decisão e geração de relatórios. Minha opinião é focar em R. O Rstudio se apresenta de forma muito íntegra tanto em compatibilidade com os sistemas operacionais como em sua documentação no padrão R, que é ótimo para o aprendizado e tem uma base estatística muito rica, além de relatórios com alta qualidade gráfica. A questão estética conta mais do que se imagina no mundo dos negócios.
  • Se o background for de áreas de desenvolvimento de software tais como: Ciências da Computação, Automação e Engenharias e o foco do trabalho é a criação de ferramentas de análise com robustez, melhor Python. Ainda, leva vantagens em algumas bibliotecas de mineração de texto e de Machine Learning.

O Python é uma linguagem robusta e genérica suficiente para entrar em qualquer área, colidindo na estatística com R e desenvolvimento de plataforma com JAVA/SCALA, que a propósito é a linguagem que utilizamos para a construção do Aquarela VORTX.

Aconteceu comigo

Vou compartilhar um fato que aconteceu comigo: queria fazer um teste com um sistema simples e feito em Python. Porém, a documentação me levou a instalar um pacote gigantesco chamado Anaconda que, por sua vez, conflitou com a versão Python 2.7 e 3 tanto no MAC como no Linux Centos 7. Pesquisando com amigos geeks, explicaram-me que houve uma mudança bastante grande entre essas versões e que também existem diversas outras formas de ter instalado o Jupyter. Enfim, voltando ao texto inicial é importante que as ferramentas não desvirtuem a orientação de negócio, principalmente daqueles com perfil de gestão.

Finalizando, independente da linguagem que você escolher, desejo bastante sucesso nos seus projetos. A otimização das empresas e organizações é o fortalecimento do nosso país. Vamos em frente!

Veja outros estudos

Se você gostou deste post, inscreva-se em nossa Newsletter e não perca nossos conteúdos exclusivos!

Autores
Joni Hoppen
Fundador da Aquarela, professor e palestrante na área de Ciência de Dados, mestre em Sistemas de Informação, focado em processos de rápida prototipação de Big Data Analytics e cultura de dados.

Informações para referenciação: Gostou do material? Caso queira enriquecer sua pesquisa ou relatório (seja blog post ou artigo acadêmico), referencie nosso conteúdo como: Aquarela 2018 - Inteligência Artificial para negócios (www.aquare.la).