16  Introdução a Pacotes

Status 🟦🟨🟨

16.1 Pacotes Instalados

Podemos ver os pacotes instalados com o comando installed.packages:

# Exibindo 5 primeiros
as.data.frame(installed.packages())$Package[1:5]
[1] "askpass"   "backports" "base64enc" "bit"       "bit64"    

A função installed.packages retorna uma série de informações a respeito dos pacotes. Abaixo alguns exemplos de pacotes bastante utilizados. Para simplificar a visualização foi usada função t, que transpõe o data.frame de colunas para linhas.

pacotes <- as.data.frame(installed.packages())
# pacote base
t(pacotes[pacotes$Package == 'base',])
                      base                                
Package               "base"                              
LibPath               "C:/Program Files/R/R-4.4.1/library"
Version               "4.4.1"                             
Priority              "base"                              
Depends               NA                                  
Imports               NA                                  
LinkingTo             NA                                  
Suggests              "methods"                           
Enhances              "chron, date, round"                
License               "Part of R 4.4.1"                   
License_is_FOSS       NA                                  
License_restricts_use NA                                  
OS_type               NA                                  
MD5sum                NA                                  
NeedsCompilation      NA                                  
Built                 "4.4.1"                             
# pacote MASS
t(pacotes[pacotes$Package == 'MASS',])
                      MASS                                             
Package               "MASS"                                           
LibPath               "C:/Program Files/R/R-4.4.1/library"             
Version               "7.3-60.2"                                       
Priority              "recommended"                                    
Depends               "R (>= 4.4.0), grDevices, graphics, stats, utils"
Imports               "methods"                                        
LinkingTo             NA                                               
Suggests              "lattice, nlme, nnet, survival"                  
Enhances              NA                                               
License               "GPL-2 | GPL-3"                                  
License_is_FOSS       NA                                               
License_restricts_use NA                                               
OS_type               NA                                               
MD5sum                NA                                               
NeedsCompilation      "yes"                                            
Built                 "4.4.1"                                          
# pacote bit64
t(pacotes[pacotes$Package == 'bit64',])
                      bit64                                                     
Package               "bit64"                                                   
LibPath               "C:/Users/luisg/OneDrive/Área de Trabalho/r/ecd/.packages"
Version               "4.0.5"                                                   
Priority              NA                                                        
Depends               "R (>= 3.0.1), bit (>= 4.0.0), utils, methods, stats"     
Imports               NA                                                        
LinkingTo             NA                                                        
Suggests              NA                                                        
Enhances              NA                                                        
License               "GPL-2 | GPL-3"                                           
License_is_FOSS       NA                                                        
License_restricts_use NA                                                        
OS_type               NA                                                        
MD5sum                NA                                                        
NeedsCompilation      "yes"                                                     
Built                 "4.4.0"                                                   

Pode ser visto no campo Priority que para o pacote base o conteúdo é “base”, isto significa que este faz parte da instalação do R. Já o pacote MASS, por exemplo, é um pacote recomendado. O pacote bit64, que é um pacote “normal”, não possui informação no campo Priority.

Também podemos visualizar dados do pacote (arquivo DESCRIPTION do próprio pacote) com o comando packageDescription:

packageDescription('base')
Package: base
Version: 4.4.1
Priority: base
Title: The R Base Package
Author: R Core Team and contributors worldwide
Maintainer: R Core Team <do-use-Contact-address@r-project.org>
Contact: R-help mailing list <r-help@r-project.org>
Description: Base R functions.
License: Part of R 4.4.1
Suggests: methods
Enhances: chron, date, round
Built: R 4.4.1; ; 2024-06-14 08:24:09 UTC; windows

-- File: C:/PROGRA~1/R/R-44~1.1/library/base/Meta/package.rds 

16.2 Pasta de Instalação

O R possui pastas de instalação dos pacotes. Para visualizá-las basta usar o comando .libPaths. A pasta padrão de instalação traz os diversos pacotes que foram instalados junto com o R (os “básicos” e os recomendados).

.libPaths()
[1] "C:/Users/luisg/OneDrive/Área de Trabalho/r/ecd/.packages"
[2] "C:/Program Files/R/R-4.4.1/library"                      
# Exibir 10 primeiros da primeira pasta
list.files(.libPaths()[1])[1:10]
 [1] "askpass"   "backports" "base64enc" "bit"       "bit64"     "blob"     
 [7] "broom"     "bslib"     "cachem"    "callr"    
# Exibir 10 primeiros da segunda pasta
list.files(.libPaths()[2])[1:10]
 [1] "base"      "boot"      "class"     "cluster"   "codetools" "compiler" 
 [7] "datasets"  "foreign"   "graphics"  "grDevices"

16.3 Pacotes Disponíveis

A função available.packages procura pacotes disponíveis no valor informado no argumento repos. Por padrão é buscado de getOption("repos").

# Definir repositório
options(repos = 'https://cran.rstudio.com/')

# Exibindo 5 primeiros
available.packages()[1:5]
[1] "A3"            "AalenJohansen" "AATtools"      "ABACUS"       
[5] "abasequence"  

16.4 Dependências de Pacotes

Os pacotes podem e em sua maioria utilizam funções de outros pacotes. Estes “outros pacotes” são denominadas de dependências. As informações de dependências também constam no DESCRIPTION do pacote.

O pacote tools, que faz parte da base do R, oferece uma função para busca de dependências de pacotes. Inclusive existe a opção de recursividade, ou seja, busca também as dependências das dependências do pacote desejado.

tools::package_dependencies('dplyr')
$dplyr
 [1] "cli"        "generics"   "glue"       "lifecycle"  "magrittr"  
 [6] "methods"    "pillar"     "R6"         "rlang"      "tibble"    
[11] "tidyselect" "utils"      "vctrs"     
tools::package_dependencies('dplyr', recursive = T)
$dplyr
 [1] "cli"        "generics"   "glue"       "lifecycle"  "magrittr"  
 [6] "methods"    "pillar"     "R6"         "rlang"      "tibble"    
[11] "tidyselect" "utils"      "vctrs"      "fansi"      "utf8"      
[16] "pkgconfig"  "withr"      "grDevices"  "graphics"  

16.5 Instalação de Pacotes

Para efetuar a instalação de pacotes usa-se a função install.packages. Os pacotes podem ser instalados diretamente de repositórios na Internet (como o CRAN) ou de arquivos locais.


Última atualização: 11/10/2024 - 21:49:19