Capítulo 1 Introdução ao ambiente R

1.1 O software R

O artigo R: A Language for Data Analysis and Graphics13 marca o início de uma nova era no processamento e análise de dados: o desenvolvimento do software R. O R é uma linguagem e ambiente estatístico que traz muitas vantagens para o usuário, embora elas não sejam tão obvias inicialmente: (i) o R é um Software Livre (livre no sentido de liberdade) distribuído sob a Licença Pública Geral14, podendo ser livremente copiado, distribuído, e instalado em diversos computadores livremente. Isso contrasta com softwares comerciais, que têm licenças altamente restritivas, que não permitem que cópias sejam distribuídas ou instaladas em mais de um computador sem a devida licença (que obviamente é paga!); (ii) a grande maioria dos Softwares livres são grátis, e o R não é uma exceção; (iii) os códigos-fontes R estão disponíveis para os usuários, e atualmente são gerenciados por um grupo chamado R Development Core Team15. A vantagem de ter o código aberto é que falhas podem ser detectadas e rapidamente corrigidas. Este sistema de revisão depende da participação dos usuários. Em contraste, em muitos pacotes comerciais, as falhas não são corrigidas até o lançamento da próxima versão, o que pode levar vários anos; (iv) o R fornece um interface de entrada por linha de comando (ELC).

No software R, todos os comandos são digitados e o mouse é pouco usado. Pode parecer antigo, pouco amigável ou até pobre em recursos visuais, mas isso faz com que nos deparemos com o melhor recurso do R: a sua flexibilidade. Para usuários familiarizados, a linguagem do R se torna clara e simples. Com poucos comandos, funções poderosas podem ser criadas e o usuário é sempre consciente do que foi pedido através da ELC (Meus dados, minhas análises!). Isso contrasta com pacotes que possuem uma interface amigável (Windows-based), mas escondem a dinâmica dos cálculos e, potencialmente, os seus erros. Finalmente, o R fornece uma ampla variedade de procedimentos estatísticos básicos ou que exigem grande esforço computacional (modelagem linear e não linear, testes estatísticos clássicos, análise de séries temporais, classificação, agrupamento, etc.) e recursos gráficos elegantes. Um dos pontos fortes de R é a facilidade com que gráficos de qualidade podem ser produzidos, incluindo símbolos matemáticos e fórmulas, quando necessário. O software R está disponível em uma ampla variedade de plataformas UNIX e sistemas similares (incluindo FreeBSD e Linux), Windows e MacOS.

1.2 O software RStudio

Quem ja é usuário de softwares por linhas de comando, como o SAS, provavelmente não notou nenhuma grande diferença até aqui. Toda análise se resume à seguinte sequência dados > códigos > saída. A experiência do usuário com o R, no entanto, pode ser mais atrativa utilizando o RStudio16. O Rstudio é um produto de código aberto disponível publicamente em 28/02/2011 que está disponível gratuitamente. Ele é um ambiente de desenvolvimento integrado para R que inclui (i) janelas de edição de texto a partir das quais o código pode ser enviado para o console e/ou salvo no sistema operacional, (ii) listas de objetos em sua área de trabalho, (iii) histórico infinito dos comandos facilmente pesquisável com capacidade de inserir, a partir do histórico, um comando no console novamente; (iv); interface com o sistema operacional para acesso a arquivos; (v) janela de ajuda com botões de voltar e avançar; (vi) download de pacotes. Apesar de todas estas capacidades, o RStudio é muito fácil de utilizar.

Nesta seção serão abordados alguns aspectos básicos para que o usuário do R possa desenvolver as suas análises. Será dado enfoque para áreas básicas da interface, cujo conhecimento é necessário para que um usuário inicante possa realizar sua primeira análisee. A figura abaixo mostra as principais janelas do Rstudio, incluindo o script, o console, a “área de trabalho” e o output para gráficos.

Interface do RStudio

Antes de iniciar as análises, recomenda-se escolher um diretório onde devem estar os inputs (dados) e para onde serão enviados os outputs (gráficos, arquivos .txt, .xlsx, etc) . Para selecionar o diretório, basta seguir o caminho Session > Set Working Directory > Choosing diretory ou utilizar as teclas de atalho Ctrl+Shift+H.

Selecionando um diretório

Posteriormente, um R Script é iniciado conforme a figura abaixo ou pelas teclas de atalho Ctrl+Shift+N. No canto inferior direito, além de servir como output para gráficos (Plots), também é o local onde os pacotes utilizados nas análises (Packages) são instalados e maiores informações sobre as funções podem ser encontradas (Help).

1.3 Meu primeiro script

Se você realizou o download do software R pela primeira vez e achou um tanto quanto “estranho” o pequeno tamanho do arquivo (~80 Mb), provalemente deve ter se perguntado como um software estatistico tão poderoso pode ser comprimido em um arquivo tão pequeno (pequeno em comparação com os +20 GB do SAS). A resposta é simples, somente os pacote básicos do R são baixados com o arquivo de instalação. Na medida em que o usuário necessita realizar uma análise específica, a instalação de um pacote que contém uma função específica para realizar tal análise é necessária.

A instalação dos pacotes pode ser realizada conforme a figura abaixo, ou através da função install.packages(). Após a instalação do pacote, o usuário deve utilizar as funções require() ou library() para que o pacote seja carregado e as suas funções possam ser utilizadas. Quando o usuário tenta utilizar uma função pertencente a um determinado pacote e este pacote não está instalado (ou carregado), um erro é exibido.

Instalando pacotes

Ajuda para a função nls()

Como exemplo inicial, vamos tentar selecionar a variável Sepal.Length do conjunto de dados base iris utilizando a função abaixo. Cuidado, spoilers do pacote dplyr! O primero passo é criar um novo script, seguindo os seguintes passos: File > New File > R script ou utilizando o atalho Ctrl+Shift+N. Posteriormente, o seguinte código é digitado e executado ao se selecionar a linha do código e clicar no botão run ou utilizando o atalho Ctrl+Enter).

SL <- select(iris, Sepal.Length)

Neste caso, um erro é exibido pois o pacote dplyr não está instalado ou carregado. Caso ele já estiver instalado, a mensagem de erro acima é superada ao carregar o pacote antes de executar a função.

library(dplyr)
SL <- select(iris, Sepal.Length)

Caso o pacote dplyr não esteja instalado, a maneira mais fácil de instalá-lo é instalando a coleção de pacotes tidyverse17 seguindo os passos da Figura 3 ou utilizando a seguinte função.

install.packages("tidyverse", dependencies = TRUE)
library(tidyverse)

O tidyverse é uma coleção de pacotes R projetados para a ciência de dados, contendo, dentre outros, seguintes pacotes que serão utilizados neste material.

  • ggplot2, para criação de gráficos.
  • dplyr, para manipulação de dados.
  • tidyr, para organização de dados.
  • tibble, para criação de tibbles.

1.4 Pacotes necessários

Praticamente todas as rotinas realizadas no R são baseadas em bibliotecas de códigos. Com a manipulaçao de pacotes não seria diferente. O pacote pacman18 é uma ferramenta de gerenciamento de pacotes R que combina a funcionalidade das funções relacionadas à biblioteca base em funções intuitivamente nomeadas, reduzindo o código para executar simultaneamente várias ações. Uma das funções mais úteis do pacote pacman é a p_load() (package load). Esta função checa se um pacote está instalado e em caso afirmativo, carrega-o como se a função library() tivesse sido usada. Caso o pacote não esteja instalado, ela primeiro o instala-rá antes de carregá-lo. Vamos, agora, instalar (para quem está utilizando o R pela primeira vez) ou carregar (para quem já tem instalado) os pacotes utilizados neste material.

if (!require("pacman")){
install.packages("pacman")
}
library(pacman)
p_load(hnp, asbio, car, DT, dplyr, devtools, emmeans, effects, multcomp,
       lme4, rio, ExpDes.pt, qqplotr, manipulate, metan, MASS, olsrr,
       tidyverse, tibble, agricolae, psych, corrplot, pvclust, factoextra, ggfortify)

Os pacotes disponibilizados no software R estão em constante atualização. Utilizando a função packageStatus() e summary(packageStatus()) é possível verificar se os pacotes estão atualizados. Outra forma é ir em Packages > Update que se encontra no canto inferior direito conforme demonstrado na Figura 5.

Verificando se há atualizações disponíveis

Por fim, para citar os pacotes , recomenda-se verificar a referência através da função citation(). Para o pacote metan, por exemplo, a referência oficial é encontrada no artigo que descreve o pacote (Olivoto and Lúcio 2020)

citation("metan")
# 
# Please, support this project by citing it in your publications!
# 
#   Olivoto, T., and Lúcio, A.D. (2020). metan: an R package for
#   multi-environment trial analysis. Methods Ecol Evol. 11:783-789
#   doi:10.1111/2041-210X.13384
# 
# A BibTeX entry for LaTeX users is
# 
#   @Article{Olivoto2020,
#     author = {Tiago Olivoto and Alessandro Dal'Col L{'{u}}cio},
#     title = {metan: an R package for multi-environment trial analysis},
#     journal = {Methods in Ecology and Evolution},
#     volume = {11},
#     number = {6},
#     pages = {783-789},
#     year = {2020},
#     doi = {10.1111/2041-210X.13384},
#     url = {https://besjournals.onlinelibrary.wiley.com/doi/abs/10.1111/2041-210X.13384},
#     eprint = {https://besjournals.onlinelibrary.wiley.com/doi/pdf/10.1111/2041-210X.13384},
#   }