此文與筆者Hexo博客同步更新.
前言
由于網(wǎng)絡(luò)安全、訪(fǎng)問(wèn)國(guó)外鏡像網(wǎng)站速度較慢等原因,無(wú)法在線(xiàn)安裝R包以及依賴(lài)包,成為困擾R 用戶(hù)(包括筆者在內(nèi))的一個(gè)問(wèn)題。于是最近上網(wǎng)查詢(xún)了一下相關(guān)的解決辦法,并且實(shí)現(xiàn)了離線(xiàn)安裝R包以及依賴(lài)包,具體方法如下,希望對(duì)大家有所幫助。
方法
1)下載所有R包到本地
#linux 終端(或windows cmd窗口)
$ cd /work/software/R/contrib
$ wget -c ftp://cran.r-project.org/pub/R/src/contrib/*.tar.gz
2)將所有下載的R包相關(guān)信息寫(xiě)到配置文件
#R 終端
path <- c("/work/software/R/contrib")
write_PACKAGES(path,type="source")
3)寫(xiě)一個(gè)安裝R包的腳本
為了方便批量安裝多個(gè)R包,于是寫(xiě)一個(gè)簡(jiǎn)單的R腳本,install_Rpkg.R 腳本代碼:
library(tools)
args=commandArgs(T)
if(length(args) == 0 ){
cat("Usage: Rscript install_Rpkg.R package1 package2 package3 ...")
cat("\n")
quit("no")
}
path <- c("/work/software/R/contrib")
install.packages(args, contriburl=paste("file:",path,sep=''),type="source")
4)安裝R包
使用示例:
$ Rscript install_Rpkg.R ggplot2
* installing *source* package ‘ggplot2’ ...
** 成功將‘ggplot2’程序包解包并MD5和檢查
** R
** data
*** moving datasets to lazyload DB
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
*** copying figures
** building package indices
** installing vignettes
** testing if installed package can be loaded
* DONE (ggplot2)
更新'.Library'里的HTML程序包列表
Making 'packages.html' ... 做完了。