Instale pacotes R ausentes ao executar no modo bash

1

Frequentemente, estou executando R scripts no modo bash. Meu script é chamado 981_conduct_regression.R . Neste script, eu chamo pacotes necessários com

if(!require(<package>)){
  install.packages("<package>")
  library(<package>)
}

Agora, quando eu chamo o script do modo bash (no Ubuntu 14.04), o script (mostrado abaixo) falha ao instalar os pacotes:

Loading required package: gridExtra
Installing package into ‘/home/michael/R/x86_64-pc-linux-gnu-library/3.1’
(as ‘lib’ is unspecified)
Error in contrib.url(repos, type) : 
  trying to use CRAN without setting a mirror
Calls: source ... eval -> eval -> install.packages -> grep -> contrib.url
In addition: Warning message:
In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE,  :
  there is no package called ‘gridExtra’
Execution halted

O que preciso mudar para que minha ideia funcione?

Editar : aqui está o arquivo .sh :

#!/bin/bash

Rscript Code/981_conduct_regression.R
    
por MERose 07.02.2015 / 12:58

1 resposta

3

Você precisa especificar seu espelho CRAN; interativamente em R, execute

chooseCRANmirror()

para escolher um espelho apropriado e, em seguida,

options("repos")

para ver o URL resultante. Você pode adicionar isso permanentemente à sua configuração em ~/.Rprofile :

local({r <- getOption("repos")
   r["CRAN"] <- "<URL from above goes here>" 
   options(repos=r)
})
    
por 07.02.2015 / 13:51

Tags