R从Shell安装软件包

先生

我正在尝试使用R实现Hadoop Streaming的reducer。但是,我需要找出一种方法来访问某些非R,dplyr..etc内置的库。根据我的研究似乎有两种方法:

(1)在reducer代码中,将所需的库安装到一个临时文件夹中,并在会话完成后将其处置,如下所示:

.libPaths(c(.libPaths(), temp <- tempdir()))
install.packages("dplyr", lib=temp, repos='http://cran.us.r-project.org')
library(dplyr)
...

但是,根据要安装的库数量,此方法将产生巨大的开销。因此,大部分时间都浪费在安装库上(像dplyr这样的复杂库有大量的依赖关系,在香草R会话上安装需要几分钟的时间)。

因此,听起来我需要事先安装它,这使我们进入了方法2。

(2)我的集群很大。而且我必须使用Ansible之类的工具才能使其正常工作。因此,我更喜欢使用一个Linux Shell命令来安装该库。我以前见过R CMD INSTALL...,但是,感觉就像只会从源文件安装软件包,而不是install.packages()在R控制台中进行安装,找出镜像,拉出源文件,并在一个命令中安装它。

谁能告诉我如何在Shell中使用一个命令行以非交互方式安装R软件包?(对这么多的背景知识感到抱歉,如果有人认为我什至没有遵循正确的方法,请随时在评论中留意应如何管理整个集群R程序包。)

德克·埃德比布特尔

您可能会发现利特勒有用。它是R的命令行前端/变体(使用R嵌入接口)。

我用的是install.r脚本所有的时间,从外壳安装包。还有另一个变种,它具有更多的命令行参数解析功能,但它具有附加的依赖性。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章