从命令行安装R软件包

时间:2019-03-28 19:31:40

标签: r

我需要从命令行构建可复制的R安装。似乎很容易,所以我用感兴趣的包名称创建了一个文件,例如

packages.txt:

ggvis
glmnet
caret

一个名为installPkgs.R的R脚本:

f = read.csv('packages.txt', header=FALSE)
z = install.packages(f[,1], repos='https://cran.rstudio.com')   

然后我应该能够从命令行运行它:

Rscript installPkgs.R

当我这样做时,将下载软件包但未安装。我想念什么?

2 个答案:

答案 0 :(得分:0)

回答我自己的问题,使答案显而易见,而不会埋藏在言辞中。

在我的代码中,软件包列表被解释为一个因素,而不是字符串。因此,我需要在read.csv()或全局参数stringAsFactors = FALSE中设置参数。

嗯。

答案 1 :(得分:0)

稍加改动,上面的代码就可以从命令行接受包名:

install.packages(commandArgs(trailingOnly = TRUE), repos='https://cran.rstudio.com')

所以运行:

Rscript installPkgs.R "ggvis" "glmnet" "caret"

无需文本文件即可获得与上述相同的结果。