O que é o R e por qual razão você deve se preocupar em programar

O R em poucas palavras

O R é um software livre e gratuito de desenvolvimento coletivo e é muito útil para quem trabalha com ciências e precisa manipular e analisar dados, gerar gráficos e publicações dinâmicas. Tem uma comunidade enorme de usuários e colaboradores e está disponível gratuitamente em diversos repositórios espalhados pelo mundo (https://cran.r-project.org/).

O R foi criado para permitir a melhor e mais ampla exploração de dados possível, (…) mas sempre explicando a natureza dos métodos utilizados, num formato aberto (livre) e compreensível (Chambers 2008).

O R é uma linguagem de programação; você conversa com o R através de um código.

Por ser uma linguagem de programação, no R você pode fazer tudo. A pergunta não é sobre SE o R faz alguma coisa, mas COMO fazer no R alguma coisa. E há várias maneiras de fazer a mesma coisa no R. É fundamental aprender a falar R, pois sabendo falar você pode dizer do seu jeito.

Todo estudante de ciências deveria aprender a programar, porque programar lhe ensina a pensar (Steve Jobs). Usar o R é a melhor forma de aprender estatística porque você precisa de fato entender o que está fazendo ao escrever um código.

Aprender a programar é como aprender um novo idioma; aprendendo o R fica mais fácil aprender outras linguagens de programação e lhe ajuda a aprender inglês, e o inglês lhe facilita falar R.

O R é uma fantástica ferramenta para fazer gráficos; veja exemplos em http://www.r-graph-gallery.com.

Com o desenvolvimento da linguagem na última década, você pode gerar aplicativos (Shiny) e relatório dinâmicos usando Rmarkdown, facilitando a formatação gráfica e a reprodutibilidade dos seus artigos, relatórios e projetos científicos.

Por que programar?

A maioria dos programas de computador não é muito boa. O código no seu laptop, televisor, telefone, carro é geralmente mal documentado, inconsistente e pouco testado. Por que isso importa para a ciência? Porque transformar dados brutos (raw data) em artigos científicos geralmente requer um pouco de programação, o que significa que a maioria dos cientistas escreve software (Nick Barnes, 2010, Publish your computer code, Nature News).

É tentador tratar todas as coisas como se fossem pregos, se a única ferramenta que você tem é um martelo (Abraham Maslow, 1996, Lei do Instrumento)! Liberte-se da camisa de força dos softwares de estatística que limitam as análises que você pode fazer e como pode fazer.

Um dos objetivos da análise estatística é o de destilar um conjunto longo e complicado de dados em um número pequeno de estatísticas descritivas que façam sentido. Muitos dos pacotes estatísticos de computadores modernos, no entanto, fazem exatamente o oposto disso. Eles produzem automaticamente um número excessivo de resultados que termina sendo aceito sem crítica; pode levar à super interpretação dos dados; e incentiva o mal hábito de jogar dados e cuspir resultados (data trawling). O R, por outro lado, não lhe diz nada a não ser aquilo que você peça explicitamente (Crawley 2007).

(…) aprender a programar é importante porque desenvolve habilidades analíticas e de resolução de problemas. É uma atividade criativa, um meio de expressar idéias abstratas. Assim, programar é divertido e é muito mais do que uma habilidade profissional. Ao projetar programas, aprendemos muitas habilidades que são importantes para todas as profissões. Essas habilidades podem ser resumidas como: (1) Leitura crítica, (2) Pensamento analítico, (3) Síntese criativa (Why programming is important).

Uma das coisas mais importantes que você (como cientista) pode fazer é dedicar um tempo para aprender uma linguagem de programação de verdade. Aprender a programar é como aprender outro idioma: exige tempo e treinamento, e não há resultados práticos imediatos. Mas se você supera essa primeira subida íngreme da curva de aprendizado, os ganhos como cientista são enormes. Programar não vai apenas livrar você da camisa de força dos pacotes estatísticos, mas também irá aguçar suas habilidades analíticas e ampliar os horizontes de modelagem (..) e estatística (Gotelli e Ellison 2013).

Curvas de aprendizagem do aluno Sabichão (Geek) e de um aluno que tem medo de código (non-geek).

Figura 0.3: Curvas de aprendizagem do aluno Sabichão (Geek) e de um aluno que tem medo de código (non-geek).

Referências

Chambers, John M. 2008. Programming with R. Editado por W. Härdle e David Hand. Springer. https://doi.org/10.1007/978-0-387-75936-4.
Crawley, Michael J. 2007. The R book. John Wiley & Sons, Ltd. https://doi.org/10.1002/9780470515075.
Gotelli, Nicholas J., e Aaron M. Ellison. 2013. A Primer of Ecological Statistics. 2º ed. Sinauer Associates.