Capítulo 1 Introdução ao R e RStudio

1.1 Por que R?

R não é uma linguagem de programação como C ou Java. O R não foi criado por engenheiros de software para desenvolvimento de software. Ao invés disso, foi desenvolvido por estatísticos como um ambiente interativo para análise de dados. Você pode ler a história completa no artigo A Brief History of S (Uma breve história de S)5. A interatividade é um recurso indispensável na ciência de dados porque, como você aprenderá em breve, a capacidade de explorar rapidamente os dados é necessária para o sucesso neste campo. No entanto, assim como em outras linguagens de programação, no R, você pode gravar o seu trabalho como scripts, que podem ser facilmente executados a qualquer momento. Esses scripts servem como um registro da análise que você realizou, uma peça-chave que facilita o trabalho reprodutível. Se você for um programador profissional, não espere que o R siga as convenções às quais está acostumado, pois você ficará desapontado. Se você for paciente, apreciará a grande vantagem do R quando se trata de análise e, principalmente, visualização de dados.

Outras características atraentes do R são:

  1. R é gratuito e de código aberto6.
  2. Ele roda em todas as principais plataformas: Windows, Mac Os, UNIX/Linux.
  3. Scripts e objetos de dados podem ser compartilhados diretamente entre plataformas.
  4. Existe uma grande, crescente e ativa comunidade de usuários de R e, consequentemente, inúmeros recursos para aprender e buscar informações78 9.
  5. É fácil para que outros contribuam com plug-ins que permitem que desenvolvedores compartilhem implementações de software com novas metodologias para ciência de dados. Isso dá aos usuários do R acesso antecipado aos métodos e ferramentas mais recentes desenvolvidos para uma ampla variedade de disciplinas, incluindo ecologia, biologia molecular, ciências sociais e geografia, entre outros campos.

1.2 O console do R

A análise de dados interativa geralmente ocorre no console do R que executa comandos à medida que são digitados. Existem várias maneiras de obter acesso a um console R. Uma forma é simplesmente iniciar o R no seu computador. O console fica assim:

Como um exemplo rápido, tente usar o console para calcular uma gorjeta de 15% em uma refeição que custa $19,71:

0.15 * 19.71
#> [1] 2.96

Nota: neste livro, as caixas cinza são usadas para mostrar o código R escrito no console R. O símbolo #> é usado para denotar a saída do console R.

1.3 Scripts

Uma das grandes vantagens do R, quando comparado a softwares de interface gráfica do tipo point and click, é que você pode salvar seu trabalho como scripts, que podem ser editados e salvos com um editor de texto. O material deste livro foi desenvolvido usando o Integrated Development Environment (IDE) do RStudio10. O RStudio inclui um editor com muitos recursos específicos de R, um console para executar seu código e outros painéis úteis, incluindo um para exibir figuras.

A maioria dos consoles R disponíveis na Web também inclui um painel para editar scripts, mas nem todos permitem salvar scripts para uso posterior.

Todos os scripts R usados para gerar este livro podem ser encontrados no GitHub11.

1.4 RStudio

O RStudio será nossa plataforma de desenvolvimento para projetos de ciência de dados. Ele não apenas nos fornece um editor para criar e editar nossos scripts, como também oferece muitas outras ferramentas úteis. Nesta seção, abordaremos alguns dos princípios básicos do RStudio.

1.4.1 Painéis

Quando iniciar o RStudio pela primeira vez, você verá três painéis. O painel esquerdo mostra o console do R. À direita, o painel superior inclui guias como Environment (ambiente) e History (histórico), enquanto o painel inferior mostra cinco guias: Files (arquivos), Plots (gráficos), Packages (pacotes), Help (ajuda) e Viewer (visualizador). Essas guias podem ser diferentes nas novas versões do RStudio. Você pode clicar em cada guia para percorrer as diferentes opções.

Para iniciar um novo script, clique em File, depois em New File e, em seguida, em R Script.

Isso inicia um novo painel à esquerda e é aqui que você pode começar a digitar seu script.

1.4.2 Combinações de teclas (atalhos)

Muitas das tarefas que realizamos com o mouse podem ser realizadas com uma combinação de teclas (key bindings em inglês). Por exemplo, acabamos de mostrar como usar o mouse para iniciar um novo script, mas você também pode usar a seguinte combinação de teclas: Ctrl + Shift + N no Windows e Command + Shift + N no Mac.

Embora muitas vezes demonstremos como usar o mouse neste tutorial, recomendamos fortemente que você memorize combinações de teclas para as operações que use com mais frequência. O RStudio inclui uma folha de dicas (cheatsheets, em inglês) com os comandos mais usados. Você pode obtê-lo diretamente do RStudio assim:

Recomendamos manter isso à mão, para que você possa procurar por combinações de teclas quando perceber que está repetindo tarefas na interface gráfica.

1.4.3 Como executar comandos enquanto edita scripts

Existem muitos editores projetados especificamente para programar. Isso é útil porque a cor e o recuo são adicionados automaticamente para tornar o código mais legível. O RStudio é um desses editores e foi desenvolvido especificamente para R. Uma das principais vantagens do RStudio sobre outros editores é que podemos testar facilmente nosso código enquanto editamos nossos scripts. Aqui está um exemplo.

Vamos começar abrindo um novo script como fizemos antes. Então, vamos nomear o script. Podemos fazer isso através do editor salvando o novo script atual ainda sem nome. Para começar, clique no ícone Salvar ou use a combinação de teclas Ctrl + S no Windows e Command + S no Mac.

Quando você tenta salvar o documento pela primeira vez, o RStudio solicita um nome. Uma boa convenção é usar um nome descritivo, com letras minúsculas, sem espaços, apenas hífens para separar as palavras e, em seguida, seguido pelo sufixo .R. Vamos chamar esse script: my-first-script.R.

Agora estamos prontos para começar a editar nosso primeiro script. As primeiras linhas de código em um script R são dedicadas ao carregamento dos pacotes que iremos usar. Outro recurso útil do RStudio é que, uma vez que digitamos library(), o RStudio começa a auto-completar o que estamos escrevendo com as bibliotecas que instalamos. Veja o que acontece quando escrevemos library(ti):

Outra característica que você deve ter notado é que, quando digita library(, o segundo parêntese é adicionado automaticamente. Isso ajudará a evitar um dos erros de programação mais comuns: esquecer de fechar um parêntese.

Agora podemos continuar escrevendo código. Como exemplo, criaremos um gráfico mostrando totais de assassinatos versus tamanho da população por estado nos EUA. Uma vez que você termine de escrever o código necessário para construir esse gráfico, você pode testá-lo executando-o. Para fazer isso, clique no botão Run no canto superior direito do painel de edição. Você também pode usar a combinação de teclas: Ctrl + Shift + Enter no Windows ou Command + Shift + Return no Mac.

Assim que executar o código, você verá que ele aparece no console do R e, neste caso, o gráfico resultante aparecerá no console de gráficos. Note que o console gráfico possui uma interface útil que permite que você navegue por diferentes gráficos gerados (clicando nas setas para ir frente ou para trás), amplie regiões do gráfico ou salve os gráficos como arquivos.

Para executar uma linha de cada vez, em vez de todo o script, você pode usar Control-Enter no Windows e Command-Return no Mac.

1.4.4 Como alterar opções globais

Você pode mudar bastante a aparência e a funcionalidade do RStudio.

Para alterar as opções globais, clique em Tools (ferramentas) e, em seguida, em Global Options….

Como exemplo, mostramos como fazer uma mudança que recomendamos bastante: altere a opção Save workspace to .RData on exit (salvar espaço de trabalho para .RData na saída) para Never (nunca) e desmarque a opção Restore .RData into workspace at start (restaurar o arquivo .RData no espaço de trabalho ao iniciar). Por padrão, quando alguém sai do R, o programa salva todos os objetos que ele criou em um arquivo chamado .RData. Isso ocorre para que, ao reiniciar a sessão no mesmo arquivo, o programa carregue esses objetos. No entanto, descobrimos que isso causa confusão, principalmente quando compartilhamos código com colegas e assumimos que eles têm esse arquivo .RData. Para alterar essas opções, faça com que suas configurações na aba General fiquem assim:

1.5 Instalando pacotes R

As funcionalidades fornecidas por uma versão do R recém-instalada são apenas uma pequena parte de tudo que é possível. De fato, nos referimos ao que você obtém após sua primeira instalação como base R. Funcionalidades adicionais podem ser adicionadas a partir de plugins (add-ons, em inglês) disponibilizados por desenvolvedores. Atualmente, existem centenas de plugins disponíveis no CRAN e muitos outros compartilhados em outros repositórios como o GitHub. No entanto, como nem todo mundo precisa de todas as funções disponíveis, o R disponibiliza diferentes componentes através de pacotes (packages, em inglês). O R facilita a instalação de pacotes dentro do próprio R. Por exemplo, para instalar o pacote dslabs, que usamos para compartilhar os conjuntos de dados e códigos relacionados a este livro, você deve escrever:

install.packages("dslabs")

No RStudio, você pode navegar para a guia Tools e selecionar install packages (instalar pacotes). Em seguida, podemos carregar o pacote em nossas sessões R usando a função library:

library(dslabs)

Ao ler este livro, você verá que carregamos pacotes sem instalá-los. Isso ocorre porque, quando um pacote é instalado, ele permanece instalado e só precisa ser carregado com library. O pacote permanece carregado até terminarmos a sessão R. Se você tentar carregar um pacote e obtiver uma mensagem de erro, provavelmente significa que ele não está instalado e você deve instalá-lo primeiro.

Podemos instalar mais de um pacote por vez, fornecendo uma lista de nomes para esta função:

install.packages(c("tidyverse", "dslabs"))

Observe que a instalação de tidyverse realmente instala vários pacotes. Isso geralmente ocorre quando um pacote possui dependências ou usa funções de outros pacotes. Quando você carrega um pacote usando library, você também carrega suas dependências.

Após a instalação dos pacotes, você pode carregá-los no R e não precisa instalá-los novamente, a menos que instale uma nova versão do R. Lembre-se de que os pacotes estão instalados no R e não no RStudio.

É útil manter uma lista de todos os pacotes necessários para o trabalho em um script porque, se você necessitar realizar uma nova instalação do R, você poderá reinstalar todos os pacotes simplesmente executando um script.

Você pode ver todos os pacotes que já instalou usando a seguinte função:

installed.packages()