R
在 bash 模式下執行時安裝缺少的 R 包
我經常
R
在 bash 模式下執行腳本。我的腳本被稱為981_conduct_regression.R
. 在這個腳本中,我用if(!require(<package>)){ install.packages("<package>") library(<package>) }
現在,當我從 bash 模式(在 Ubuntu 14.04 上)呼叫腳本時,腳本(如下所示)無法安裝軟體包:
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
我必須改變什麼才能讓我的想法發揮作用?
編輯:這是
.sh
文件:#!/bin/bash Rscript Code/981_conduct_regression.R
您需要指定您的 CRAN 鏡像;在 R 中以互動方式執行
chooseCRANmirror()
選擇合適的鏡子,然後
options("repos")
查看生成的 URL。您可以將其永久添加到您的配置中
~/.Rprofile
:local({r <- getOption("repos") r["CRAN"] <- "<URL from above goes here>" options(repos=r) })
根據 Stephen Kitt 的建議,這解決了問題:
~ $ cat .Rprofile local({r <- getOption("repos") r["CRAN"] <- "https://mirror.las.iastate.edu/CRAN/" options(repos=r) })