Pergunta

Ao instalar pacotes R (digamos mcmcpack Neste exemplo), no Ubuntu, tenho a escolha entre os dois métodos a seguir de instalação:

# Let the distribution's packaging system take care of installation/upgrades
apt-get install r-cran-mcmcpack

# Let R take care of installation/upgrades
install.packages("mcmcpack")

Perguntas:

  • Alguma das duas maneiras de instalar pacotes R é considerada "melhor prática"?
  • Suponha que eu primeiro install.packages("mcmcpack") e mais tarde apt-get install r-cran-mcmcpack - Devo esperar problemas?
  • Suponha que eu primeiro apt-get install r-cran-mcmcpack e mais tarde install.packages("mcmcpack") - Devo esperar problemas?
Foi útil?

Solução

Não é tão fácil quanto parece.

  • apt-get update é bom se e quando

    • existem pacotes - mas existem apenas cerca de 150 ou mais r-cran-* Pacotes de uma piscina de mais de 2100 pacotes em cran, então uma cobertura bastante esparsa

    • Os pacotes são mantidos, sem insetos e atuais

    • Você está feliz o suficiente com os lançamentos semestrais do Ubuntu

  • install.packages() e depois update.packages() é bom se e quando

    • Você sabe o que é preciso para ter dependências de tempo construído (além de r-base-dev) instalado

    • Você não se importa de correr update.packages() à mão, bem como o apt-get Atualizações.

Na minha máquina Ubuntu no trabalho, eu vou com a segunda solução. Mas porque o primeiro é melhor Se você tem cobertura suficiente, nós construímos cran2deb que fornece mais de 2050 pacotes de Deb binários para AMD64 e I386-mas apenas para testes de debian. É isso que eu uso em casa.

Quanto à última pergunta sobre se você 'deve esperar problemas': não, porque R_LIBS_SITE É definido em /etc/R/Renvironment ser

# edd Apr 2003  Allow local install in /usr/local, also add a directory for
#               Debian packaged CRAN packages, and finally the default dir 
# edd Jul 2007  Now use R_LIBS_SITE, not R_LIBS
R_LIBS_SITE=${R_LIBS_SITE-'/usr/local/lib/R/site-library:\
/usr/lib/R/site-library:/usr/lib/R/library'}

o que significa que sua Pacotes entram /usr/local/lib/R/site-library Considerando que os gerenciados por apt entrar /usr/lib/R/site-library e (no caso de pacotes básicos) /usr/lib/R/library.

Espero que esclareça os assuntos. A lista de discussão R-Sig-Debian é um local mais informado para perguntas como essa.

Outras dicas

  • Eu consideraria usar apt-get Melhores práticas, pois você obterá atualizações automáticas através das ferramentas do sistema padrão.

  • Ter duas versões instaladas pode colocá -lo em situações confusas: dependendo da sua configuração R, você pode carregar outra versão do pacote e esperar - seu privado (talvez desatualizado), em geral, deve ser carregado primeiro.

  • Veja acima.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top