Capítulo 1 Entendendo a coleção Estudando o ambiente R

A coleção Estudando o ambiente R não tem como objetivo principal ensinar análise de dados, mas proporcionar ao leitor um conhecimento sobre a linguagem R, de modo a usufruir de todos os recursos que o ambiente proporciona. Pressupomos também, que na leitura do livro haja um conhecimento básico sobre linguagem de programação.

Linguagem R

O R é um ambiente de software livre e código aberto, com recursos gráficos, cujo objetivo se inicia pela análise e apresentação de dados até recursos para desenvolvimento de página web, por exemplo. Devido a contribuição da linguagem ser realizada por toda a comunidade científica e sociedade como um todo, os recursos desenvolvidos pelo R são dos mais diversos possíveis.

Ainda como complemento, não queremos neste material convencê-lo a utilizar o ambiente R, pois a melhor linguagem é a que dominamos. Contudo, pretendemos mostrar que os recursos utilizados pelo R não estão limitados apenas a análise de dados nos dias atuais. Um exemplo é o desenvolvimento escrito do material didático desta coleção, que pode ser acessado em: https://bendeivide.github.io/cursor/. Usufruímos das próprias ferramentas do R para repassar as nossas experiências, sem ao menos ter o domínio sobre linguagens do tipo HTML, CSS, JavaScript, dentre outras, necessárias para uma boa renderização de uma página web. Isso mostra a potencial ferramenta de trabalho que o R pode ser para nossa vida profissional.

Dessa forma, propomos um entendimento sobre a sintaxe e semântica1 de como a linguagem R é desenvolvida. Seremos capazes, após a leitura dos dois primeiros Volumes, de acompanhar qualquer curso de Estatística com aplicações em R, dedicando-se apenas aos assuntos pertinentes à área da Estatística, uma vez que o embasamento sobre a linguagem será suprida por esta coleção. A nova revolução dos dados, se deve ao grande volume de informações obtidas nessa era tecnológica. Juntamente com a Estatística, o R representa uma poderosa ferramenta para entender os padrões que estão por trás dos dados, que por sinal, são a moeda valiosa do momento, ou melhor, sempre foram!

Aprenderemos também recursos diversos na área da computação, como programação defensiva, desenvolvimento de interfaces gráficas ao usuário (IGU), paralelização, recursos na área da estatística, como o desenvolvimento de gráficos e o uso de banco de dados. Ensinaremos também o desenvolvimento de materiais como artigos, livros, websites, blogs, dashboards. Por fim, chegaremos a maior cobiça de um programador R: desenvolver um pacote.

Por que os artigos “o” e “a” para o R?

Em muitos momentos utilizaremos o artigo “o” para a linguagem R. Pois é, isso ocorre porque ela também é considerada um software ou ambiente. Daí, chamamos de programa R, ou preferivelmente, ambiente R.

A coleção apresenta três Volumes iniciais para o entendimento do ambiente R:

  • R Básico (Volume I);
  • R Intermediário (Volume II); e
  • R Avançado (Volume III).

A seguir, explanaremos sobre cada um dos volumes.

1.1 R Básico (Volume I)

Este primeiro Volume, apresenta um breve histórico sobre a linguagem, a sua instalação, bem como os recursos da IDE2 RStudio, o conhecimento da sintaxe e semântica da linguagem R, as estruturas bases da linguagem, o que é um objeto e como construir uma função, o entendimento sobre controle de fluxos. O que é um pacote, carregar e anexar um pacote, e quem são os mantenedores da linguagem, também serão assuntos deste primeiro Volume. Noções básicas sobre o caminho de busca, ambientes e namespaces serão abordados. Algo muito interessante, que pode mudar o script de um programador em R, são as boas práticas para a escrita de um código, tema também abordado neste Volume.

A ideia do Volume I é proporcionar um entendimento básico, um primeiro contato com a linguagem, fazendo com que nós possamos dar os primeiros passos, executando as primeiras linhas de comando. Apresentaremos erros recorrentes, como o entendimento sobre um objeto, ou o anexo de um pacote ao caminho de busca. Temas como esses, dentre outros, foram a forma inicial que encontramos para aprofundar sobre a estrutura de um objeto R, bem como a sua manipulação. Adicionado a isso, faremos a inserção de como são os paradigmas da programação no ambiente. Esta última parte será estudada no Volume II, apresentada a seguir.

1.2 R Intermediário (Volume II)

O Volume II é introduzido com uma maior caracterização do ambiente R quanto ao seu escopo léxico, como linguagem interpretada, como programação funcional, como programação meta-paradigma, como programação dinâmica; apresentaremos manipulações de objetos em mais detalhe, bem como o surgimento de algumas outras estruturas de dados como tibble, cópias de objetos, detre outras situações. Uma característica do ambiente R é que a linguagem pode ser orientada a objetos e isso será estudado neste Volume. Introduziremos o desenvolvimento de pacotes R, e aprofundaremos sobre os ambientes. Por fim, mostraremos como desenvolver um projeto do R e integrá-lo ao GitHub, e dessa forma, introduziremos sobre o sistema Git.

Este talvez seja o maior Volume dentre os três iniciais, pois apesar de não ser mais necessário entender a ideia de objeto, retratada no Volume I, a inserção dos paradigmas da programação para o Volume II trará uma maior riqueza de características para o R, mostrando a sua versatilidade. Também, daremos um maior detalhe sobre como manipular objetos, e as otimizações existentes da linguagem como por exemplo, a modificação no local, que se entendida, perceberemos que o loop no ambiente R não é lento como ouvimos falar. Ao final do Volume II, falaremos sobre como propagar um código com o sistema Git na plataforma GitHub, sincronizado com os projeto RStudio.

1.3 R Avançado (Volume III)

O Volume III, será a total exploração do manual R Internals. Apesar de ser um assunto voltado para membros do R Core Team, pretendemos entender como o R trabalha nos bastidores. Dessa forma, teremos total controle sobre as nossas rotinas. Contudo, para usários que pretendem entender o ambiente R de forma aplicada, pode avançar esse volume para a leitura dos volumes seguintes.

1.4 Demais volumes

Os demais volumes compreendem lacunas necessárias para serem abordadas com profundidade, tais como: Documentações no R, Desenvolvimento de pacote R, Gráficos, Banco de dados, Interface Gráfica ao Usuário, Interface R com outras linguagens, dentre outros.

1.5 Referências complementares da Coleção

Citaremos alguns livros e materiais utilizados para o desenvolvimento dessa coleção, que alguns podem ser acessados online via bookdown, tais como:

Vale salientar que esses três últimos livros, se pudéssemos unir, seria a bíblia do ambiente R.

1.6 Pacotes R utilizados para essa coleção

Apresentamos uma lista de pacotes, Tabela 1.1, utilizados ao longo da coleção para os exemplos abordados, como também para o próprio desenvolvimento dos livros.

TABELA 1.1: Pacotes a serem instalados para o acompanhamento dos exemplos e exercícios da coleção Estudando o ambiente R.
Pacote Finalidade
lobstr Estudar a sintaxe do ambiente R
codetools Estudar a sintaxe do ambiente R
XR Estudar a sintaxe do ambiente R
rlang Estudar a sintaxe do ambiente R
sloop Compreender interativamente a programação orientada a objetos
styler Auxilia no estilo de código
formatR Auxilia no estilo de código
distill Criação da página web