Por que vale a pena usar o R?

Se você está na Academia ou trabalha com ciência de outra forma, provavelmente já ouviu falar do R. Mas quem é ele? Onde habita? Do que se alimenta? Por que você deveria usá-lo? Tudo isso você verá hoje, aqui neste post.

Às vezes ficamos cansados só de pensar no tanto de habilidades que precisamos aprender ao longo da Jornada do Cientista. E o aprendizado nunca pára, nem mesmo depois que obtemos a faixa preta.

A curadoria e análise de dados é uma das habilidades mais críticas hoje em dia. Ela envolve coletar, armazenar, organizar, limpar, filtrar, associar e interpretar informações dos mais variados tipos. E, sim, isso tem a ver com coisas como dimensionar um experimentomontar uma planilha de dados, plotar um gráfico, desenhar um mapa ou rodar um teste t, por exemplo.

Nesse mundo dos dados, um programa tem se destacado enormemente desde meados dos anos 2000:

R_logo.svg_

Antes tínhamos a impressão de que ele havia virado moda apenas na Biologia. Mas, na verdade, ele se espalhou por todas as áreas da ciência. Trocando em miúdos, o R é uma linguagem e um ambiente de computação estatística. Já escrevemos outros posts com dicas a respeito aqui no blog.

Então por que você, aspira ou novato, deveria  investir tempo, energia e dinheiro em aprender a linguagem R? Não basta aprender inglês? Qual seria a vantagem desse esforço, considerando que você pode organizar os seus dados no Excel, um pacote que todo mundo usa até mesmo fora da Academia? Isso, sem contar que você pode fazer a maioria dos testes estatísticos corriqueiros usando pacotes que funcionam à base de janelinhas amigáveis e não linhas de comando enigmáticas.

Aqui te apresento alguns bons motivos para aprender a usar o R:

1. O R é um programa gratuito e de código aberto

A primeira parte desse argumento parece não convencer muita gente aqui no Brasil, onde usar software pirata é tão habitual quanto furar fila. Contudo, na Europa por exemplo, você pode sofrer sanções pesadas, se for pego usando programas crackeados ou mesmo baixando arquivos via torrent na universidade. Felizmente, a cultura da ilegalidade vem perdendo força aos poucos no Brasil.

Ben is well loved
Fonte da imagem.

O bom é que o R é free, então você pode instalá-lo e usá-lo em todos os computadores do seu lab. Ou mesmo nos computadores que usa para dar aulas práticas nas salas multimídia da sua universidade. Sem dor na consciência e sem onerar o orçamento do seu projeto ou da sua instituição. Isso é formidável, em tempos de crise.

Além disso, o R é open source. Ou seja, o código de programação dele fica aberto ao público e todos os interessados podem propor modificações. Igual ao Linux, Android e QGIS. Isso é excelente, pois estimula uma evolução muito mais rápida do programa, além de promover a independência dos usuários.

Consequentemente, usuários avançados vivem criando novos pacotes de R para finalidades gerais e específicas, o que facilita muito a vida da comunidade científica. Vários artigos que propõem análises novas hoje incluem scripts de R como suplemento. Resumindo, o R é um grande projeto colaborativo.

2. O R serve para tudo

Você pode fazer todos os testes estatísticos aos quais está habituado no R. Sério, todos, e de várias formas diferentes.

sa16795xavtx1000
Fonte da imagem.

Isso porque ele não é um pacote fechado, mas sim uma linguagem e um ambiente de programação. Logo, se uma determinada análise ainda não está implementada nele, basta alguém fazê-lo. E, dado o tamanho gigantesco da comunidade mundial de usuários, todas as análises básicas e muitas outras avançadas já estão disponíveis. Nele você pode desde rodar um simples qui-quadrado de contingência até construir um modelo matemático sofisticado.

O melhor é que, quando não encontra o que precisa, você mesmo pode implementar a análise desejada. Ou pode pedir que um colega mais proficiente o faça. Tudo feito sob medida, ao gosto do freguês.

Como se não bastasse, o R é ainda verdadeiramente multiplataforma, com versões para Windows, MacOS e Linux. Daqui a pouco é capaz de ter para smartphone também…

3. O R facilita muito entender erros e pedir ajuda aos colegas

Sabe quando você seguiu uma série de procedimentos para arrumar uma planilha de dados da sua tese, em cima da qual aplicou uma análise estatística? Muitas vezes a gente empaca no meio do caminho, porque algo não está saindo como esperado. E, quando isso acontece em pacotes fechados, a gente mal consegue entender onde está o erro.

closeup of a pencil eraser correcting an error
Fonte da imagem.

Esse tipo de problema fica muito mais fácil de resolver, se você estiver fazendo todos esses procedimentos no R. Isso porque cada passo, dos mais simples aos mais complexos, fica registrado no seu script de programação (code ou código, para os íntimos), que é como uma receita de bolo nerd.

Quanto mais passos você tiver dado dentro do R, melhor. Por isso eu recomendo aos meus alunos que carreguem no R as planilhas de dados mais cruas que tiverem. E que, depois, façam todas as combinações, reorganizações, atualizações, checagens, correções e filtragens dentro do R, registrando tudo no script.

Assim, quando você empaca em uma análise, basta explicar o contexto e o resultado esperado, e passar o seu script e os seus dados para um colega, que poderá ver imediatamente onde está o erro. Você pode fazer isso ou então gritar por socorro em comunidades online, como o miraculoso Stack Overflow. E pode encontrar e compartilhar códigos personalizados para os mais variados fins em repositórios como o GitHub.

Um script enxuto e bem comentado torna muito mais fácil a vida de quem pede ajuda e a de quem a fornece.

Da mesma forma, fica muito mais fácil trocar figurinhas dentro da comunidade da sua disciplina, compartilhando soluções com gente do mundo todo interessada nos mesmos problemas e análises.

4. O R melhora a reprodutibilidade da ciência

Pela mesma razão explicada no tópico anterior, o R é uma mão na roda para quem está interessado em tornar a ciência mais transparente e confiável.

F2.large
Fonte da imagem.

Muito se tem discutido nos últimos anos sobre a verdadeira caixa-preta que representam alguns artigos. Você pode ler e reler a seção de métodos deles, que não consegue de forma alguma reproduzir os procedimentos analíticos.

Caso as análises de um artigo tenham sido feitas no R, basta os autores compartilharem o script, que imediatamente todos podem entender em detalhes todas as decisões tomadas e caminhos seguidos. Não é necessário sequer compartilhar os dados brutos, se eles ainda estiverem sob embargo. A matemática é a linguagem mais lógica e objetiva de todas e a programação é baseada em matemática. Além disso, scripts são super leves em termos de armazenamento.

E isso não se limita à questão de tornar as suas análises mais facilmente reprodutíveis pelos outros. Tenho certeza de que você já passou raiva, ao gastar semanas com uma análise, considerá-la pronta e, depois, ter que repetir tudo, porque algo nos dados mudou. Basta uma célula ser modificada para você vivenciar esse pesadelo. Isso acontece o tempo todo, ainda mais quando estamos no meio de um projeto longo. Em parcerias então, nem se fala.

Pode ser que um membro da sua equipe descubra que a amostra 14, por alguma razão, estava contaminada e, por isso, precisa ser excluída das análises. Aí lá vai você clicar em milhões de janelinhas de novo… E pode ser que você nem se lembre ao certo de em quais janelinhas havia clicado, ou da ordem em que clicara nelas.

Mesmo uma tarefa simples em termos de complexidade, como organizar, checar e filtrar uma planilha de dados no Excel, envolve milhares de cliques e arrastes. Você pode automatizar tudo isso no seu script do R.

Aqueles que estão há mais tempo na carreira também já devem ter passado pelo desespero de tentar entender uma análise que fizeram anos atrás. Já vi vários casos em que alunos de doutorado não conseguem reproduzir as análises que fizeram na própria iniciação científica ou mestrado. Imagine então alguém que é professor há décadas, tentando revisitar uma planilha dos tempos de estudante?

Felizmente, isso não tira o sono de quem costuma fazer toda a curadoria e análise de dados no R. Além, é claro, de seguir as boas práticas em data science.

5. O R te dá asas

Ele não é um energético, mas pode fazer isso por você.

legion-logo2
Fonte da imagem.

Por um lado, quando você usa pacotes fechados para curadoria ou análise de dados, fica limitado às funções implementadas neles. Por isso, é comum ter que usar uma combinação de vários pacotes em um mesmo projeto. Muitas vezes, pacotes que focam no mesmo tipo de análise, mas diferem entre si nos detalhes.

Por outro lado, quando você se acostuma a fazer essas coisas por programação, deixa de depender da boa vontade e das escolhas dos desenvolvedores. Você ganha a liberdade de transpor para o computador as suas ideias mais ousadas, como mencionado no tópico 2.

Eu mesmo costumava usar uma combinação de cerca de 20 programas para fazer as minhas análises de redes complexas. Depois que aprendi a usar o R, passei a fazer todas elas dentro dele. O próximo passo foi transferir para ele também todas as minhas análises estatísticas, assim como os meus procedimentos de curadoria de dados. Agora, consigo até mesmo modificar ou criar análises, de acordo com as minhas necessidades.

E, para a nossa alegria, usando o R aliado ao RStudio, LaTeX e Markdown, você pode inclusive gerar a sua tese inteira sem se ter que abrir um documento sequer no Word. Sim, hoje é possível produzir um makefile do seu artigo, que nada mais é do que uma receita de bolo para reproduzir o trabalho por inteiro, incluindo texto, análises, figuras e diagramação. Mas esse assunto da reprodutibilidade extrema fica para outro post.

6. O R te abre portas

Há linguagens  de programação de vários níveis, que conversam com o computador em diferentes camadas de complexidade.

shutterstock_240149806
Fonte da imagem.

Via de regra, basta a um cientista profissional ou usuário pesado de ciência aprender uma linguagem orientada ao objeto, como o R. Pode ser também Python, MatLab, SciLab, Mathematica ou outras. Depois que você descobrir que, “yes, you can!“, é capaz de se empolgar e decidir estudar linguagens mais diretas, como C++ e afins.

Isso tem vantagens maiores do que você pensa.

Primeiro, nas ciências naturais, alguém com boa habilidade em análise de dados geralmente recebe muitos convites para parcerias em projetos e artigos. Isso ocorre especialmente em disciplinas como a Biologia, na qual a maioria dos colegas tem problemas com os números.

Segundo, em um mundo lotado de cientistas profissionais competindo por bolsas e empregos, a grande maioria das pessoas que ingressa na jornada não consegue se estabelecer na carreira. Uma das melhores alternativas de carreira hoje em dia é seguir pelo caminho da data science, que tem alta empregabilidade no mercado privado.

7. O R te permite enxergar a Matrix

Sabe aquele filme dos anos 90, em que o herói, Neo, passa por uma jornada campbelliana típica e começa a enxergar a realidade do mundo em que vivia?

1*WZZ9OWp3QJjcswTITitJKw
Fonte da imagem.

Sem brincadeira, depois de dar os seus primeiros passos no maravilhoso mundo da programação, você começará a enxergar a análise de dados e a estatística com outros olhos.

Ficará mais fácil até mesmo entender a lógica dos testes que você costuma usar. Ou, mais para frente, começar a inventar novos testes.

Qual seria a maior desvantagem de migrar dos seus pacotes habituais para o R?

Eu diria que é a curva de aprendizado, que pode ser penosa e durar algumas semanas ou meses. Entretanto, o grau de dificuldade inicial depende basicamente de quanta familiaridade você tem com computação, estatística e programação. Na verdade, o R pode facilmente ser a primeira linguagem de programação que você vai aprender na vida. Vale o esforço.

Conclusão

Espero ter te convencido de que você tem muito a ganhar aprendendo a usar o R. Na verdade, o ponto é investir em aprender alguma linguagem de programação. Isso é crucial para o cientista contemporâneo. Uma enorme vantagem do R sobre outras linguagens, neste momento, é que todo mundo o está usando, então é bem fácil pedir ajuda e compartilhar soluções. Na esmagadora maioria dos casos, você consegue tirar as suas dúvidas simplesmente digitando a sua pergunta sobre o R no Google. Experimente e ficará surpreso com a facilidade.

Quais outras vantagens e desvantagens você vê no R?

Conte para nós aqui nos comentários, por favor.

Agradecimentos

O meu caminho no aprendizado do R foi longo. Não pela dificuldade inerente ao programa em si, mas porque mantive ressalvas a ele por muitos anos, já que tenho aversão a modas. Sou muito grato a vários colegas que me apresentaram ao R e facilitaram a minha transição do mundo dos pacotes fechados para o mundo da programação. Owen Petchey deu um curso introdutório da série R.4.all na UFSCar em 2008, onde pela primeira vez experimentei o programa. Logo depois, em 2009, participei de um workshop na Universidade de Göttingen, Alemanha, onde Carsten Dormann e Nico Blüthgen me ajudaram a dar os primeiros passos na análise de redes no R, usando o famoso pacote bipartite. Nos idos de 2010, Pedro Jordano me ajudou a fazer as primeiras análises de redes no R que efetivamente usei em um artigo científico. Em 2011, trabalhei como professor assistente em uma disciplina de estatística para graduação na Universidade de Ulm, Alemanha, coordenada pela Profa. Jutta Schmid e ministrada no R usando o RCommander. Houve então um grande hiato, durante o qual deixei o R meio de lado. A partir de 2016, a interação com Gabriel Félix e Rafael Pinheiro me estimulou a estudar o R a sério pela primeira vez. Pavel Dodonov e Renata Muylaert tiraram as minhas dúvidas e limparam os meus códigos sempre que pedi, depois desse ponto de virada. Mais recentemente, Alexandre Palaoro e Danilo Muniz vêm me ajudando muito no aprofundamento. E este agradecimento não estaria completo sem um muitíssimo obrigado à comunidade do Stack Overflow, que faz milagres por noobs como eu.

Sites e cursos para dar os primeiros passos:

  1. The R Project for Statistical Computing: site oficial do R.
  2. R Studio: uma interface bem amigável.
  3. R Markdown: linguagem para criar makefiles e reproduzir artigos inteiros.
  4. Stack Overflow: fórum especializado em programação, onde usuários de diferentes níveis trocam figurinhas e se ajudam.
  5. GitHub: reposítório de códigos de programação, rico em scripts de R.
  6. Cantinho do R: o melhor blog em português para quem deseja aprender R.
  7. Introdução ao R: o melhor curso presencial, feito por centenas de pessoas nos últimos anos, oferecido na USP de São Paulo.
  8. R: Tutorial de Bolso: excelente para experimentar mexer com dados no R pela primeira vez e perder o medo.
  9. A (boa e velha) apostila básica do R: para você ir mais a fundo e tentar análises diversas.
  10. R: Primeiros passos (inclusive em Linux!): ótimo texto para iniciantes, do anotherecoblog.
  11. 5 dicas para aprender R: ótimo post para te estimular a dar os primeiros passos.
  12. How do you learn new skills in R? Dicas valiosas para começar no R.
  13. Cursos de R online na plataforma Coursera: para quem deseja aprender sem sair de casa.
  14. Uma comparação entre R e Python: excelente para voce decidir qual dessas dua slinguafgens populares aprender primeiro.
  15. A Guide to Data Management in Ecology and Evolution: um guia publicado pela Bristish Ecological Society com dicas preciosas sobre curadoria de dados.

 

(Fonte da imagem em destaque: The Matrix, 1999, Wachowski Brothers)

Anúncios

8 respostas para “Por que vale a pena usar o R?”

  1. Mesmo que o Python seja minha “weapon of choice”, tenho que reconhecer que manipular dados, criar e treinar modelos e fazer predições é bem mais rápido no R.

    Valeu pelas dicas!

  2. O R é lindo! ❤

    Eu atualmente uso o R pra tudo exceto organizar dados (gosto de fazer do bom e velho jeito no Calc, que é o Excel gratuito, porque assim sinto que estou interagindo melhor com os dados, batendo um papinho com eles pra eles começarem a me reveral os seus segredos… rs). Antes fazia análises no Past e gráficos no Origin [o qual era lincenciado, sim senhor!]. Agora teria até preguiça de fazer gráficos no Origin.

    E não conheço outros softwares estatísticos livres multi-plataforma. A maior parte funciona em Windows e quem sabe Mac; Past 2 roda no Linux com Wine, mas acho que o Past 3 já não roda tão bem assim (nunca testei). Outros, como Passage, até rodam em Linux, mas perdem a interface bonitinha com janelinhas, e se for pra programar, melhor programar direto em R. 🙂

    Na disciplina de estatística que dou na graduação eu ensino as três ferramentas: Calc para organizar dados, Past para estatística clicando em janelinhas, e R.

    PS: Obrigado pelos links, irei passar para o pessoal pra quem dou aula! \o/

    1. Sabia que você iria dar first nesse post, Pavel! rsrsrs Você foi uma das pessoas que me ajudaram na transição, muito obrigado! Quanto ao Calc, ele tem todas as funções do Excel? Eu curto muito usar o Numbers (app nativo do Mac OSX) para fazer uma primeira organização dos dados, mas ele tem menos funções do que o Excel e ainda suporta planilhas com menos linhas.

      1. Demorei pra responder mas estou respondendo! rs
        Nossa, sério que lhe ajudei a fazer a transição? Que lindo! Fico muito feliz com isso!
        Então, o Calc tem todas as funções que eu preciso pra organizar dados… Filtros, tabela dinâmica, funções de procura… E acho que pra algumas coisas ele é mais intuitivo que Excel, por exemplo pra abrir arquivos de texto (não sei como é no Excel atualmente, mas no Calc aparece uma janelinha pra você especificar os separadores de coluna, com um preview embaixo) e até mesmo pra mudar o separador decimal de vírgula pra ponto. Tudo bem que essa parte é meio aleatória, nunca sei o que vai dar certo, mas acho mais fácil do que quando eu usava Excel! Acho que Calc não tem limite pro número de linhas, mas talvez tenha pro número de colunas…

        1. Maneiro, Pavel! Bom saber. Acho que vou instalar o Calc nos computadores do meu lab. Eles estão só com o Numbers, mas ele tem essas limitações chatas. E não dá para pagar múltiplas licenças de Excel todo ano.

Deixe um comentário

Faça o login usando um destes métodos para comentar:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.