2.2 Instalação de Pacotes

Um pacote do é uma coleção de funções, dados e documentação que estende as funcionalidades básicas do R, muito além do que se poderia imaginar. Os pacotes são desenvolvidos pela comunidade do formada por vários contribuidores.

2.2.1 Da internet

2.2.1.1 CRAN

A forma mais fácil de instalar uma pacote do R é através da função install.packages("nome_do_pacote").

Por default o pacote informado é instalado a partir do repositório oficial de distribuição de pacotes: a (CRAN). A CRAN é uma rede de servidores e FTP distribuídas pelo mundo e mantida pela comunidade . A Fundação R coordena a CRAN e estabelece diversos testes para assegurar que os pacotes publicados sigam as políticas da CRAN.

Agora veremos como instalar um pacote. Como exemplo instalaremos o pacote remotes que dispõe de funções para instalar pacotes de repositórios remotos, como por exemplo do GitHub.

install.packages("remotes")

Para ter acesso as funções disponibilizadas com o pacote você precisa carregar o pacote:

library(remotes)

Apesar de precisar só instalar uma vez um pacote, você precisará carregá-lo a cada nova sessão.

Para desinstalar um pacote você pode usar a função remove.packages("nome_do_pacote").

2.2.1.2 GitHub e R-forge

Nem todos pacotes são disponíveis na CRAN. Muitos desenvolvedores disponibilizam seus pacotes em plataformas como o GitHub e R-forge. As vezes um pacote pode estar em ambos CRAN e GitHub (ou R-forge), mas a última versão - a de desenvolvimento - é somente disponibilizada no GitHub (ou R-forge).

Para instalar um pacote de um repositório do GitHub usa-se a função install_github() do pacote remotes. Portanto, o pacote remotes precisa ser sido instalado primeiro (ver seção 2.2.1.1).

A função para instalar um pacote do GitHub requer como argumento o nome do usuário/nome do repositório. Por exemplo, para instalar o pacote ADARdata do repositório mantido pelo lhmet, usa-se:

library(remotes)
install_github("lhmet/ADARdata")

Você pode acessar uma função de um pacote instalado com a forma especial pacote::funcao. O trecho de código anterior poderia ser reduzido a:

remotes::install_github("lhmet/ADARdata")

Essa forma deixa explícito que estamos usando a função install_github() do pacote remotes.

As vezes você pode estar com diversos pacotes carregados e eles podem ter funções de mesmo nome. Portanto, essa é a alternativa mais segura de avaliar funções afim de evitar conflitos.

Para instalar um pacote num repositório do R-forge, por exemplo o repositório do pacote raster, usa-se:

install.packages(
  "raster",  
  repos = "http://R-Forge.R-project.org"
)

2.2.1.3 Arquivo fonte local

Códigos fonte de pacotes do R são armazenados como arquivos com a extensão .tar.gz. Binários compilados são armazenados com a extensão .zip. Exemplo de arquivos como estes podem ser baixados manualmente da CRAN (veja a seção Downloads em por exemplo, https://cran.r-project.org/web/packages/remotes/index.html), no GitHub ou R-forge.

Eventualmente um usuário pode instalar um pacote a partir desses arquivos localmente. Isto pode também ser feito com a função install.packages(), especificando o argumento repos = NULL e o argumento pkgs com o caminho do arquivo. Por exemplo:

install.packages("remotes_2.1.1.tar.gz", repos = NULL)

2.2.2 Atualização de pacotes

Se o seu foi atualizado, os pacotes da versão prévia do devem ser reinstalados para evitar problemas de compatibilidade. O comando abaixo atualiza todos pacotes para a última versão. A opção checkbuild = TRUE reinstala os pacotes que foram construídos uma versão mais antiga que a do atual.

update.packages(checkBuilt=TRUE, ask=FALSE)