Qual a melhor forma de garantir que os pacotes necessários a um código estejam disponíveis?


100
views
2
3 months ago by

Eu tenho um código que eu geralmente uso para isso e queria comparar com as soluções de vocês.

 

pkg = c("dplyr","ca","FactoMineR","missMDA","corrplot","astsa","forecast","TSA")
for (i in 1:length(pkg)) {
  if (pkg[i] %in% rownames(installed.packages())) {
    library(pkg[i], character.only = TRUE)
  }
  else {
    install.packages(pkg[i])
    library(pkg[i], character.only = TRUE)
  }
}

 

Somente isso. Quais as alternativas?

modified 3 months ago by Adelmo Filho   • written 3 months ago by Ícaro Bernardes  

1 Answer


2
3 months ago by

A forma apresentada por você é bem automatizada. Nos meus códigos, eu utilizo uma estrutura como essa para cada pacote:

if (!require("dplyr")) install.packages("dplyr") ; library(dplyr)

Eu tento carregar o pacote com o require, caso ele não exista eu o instalo e no fim carrego com o library.

Sobre o uso do require e do library, eu recomendo a leitura deste artigo.

 

written 3 months ago by Adelmo Filho  

Acho que o efeito é o mesmo que o meu, mas ocupa menos linhas e deve ser um pouco mais rápido. Certo?

written 3 months ago by Ícaro Bernardes  

Isso depende muito do número de pacotes que você vai carregar. Todo for é lento no R, mas por outro lado, quando o número de pacotes fica muito grande, suas 10 linhas de código se tornam melhor para visualizar e organizar o código.

written 3 months ago by Adelmo Filho  
Please log in to add an answer/comment or follow this question.

Similar posts:
Search »