加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

R从Shell安装包

发布时间:2020-12-15 22:48:43 所属栏目:安全 来源:网络整理
导读:我正在尝试使用R实现Hadoop Streaming的reducer.但是,我需要找到一种方法来访问某些不是用R,dplyr..etc构建的库.基于我的研究似乎有两种方法: (1)在reducer代码中,将所需的库安装到临时文件夹中,它们将在会话完成后处理,如下所示: .libPaths(c(.libPaths()
我正在尝试使用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这样的复杂库有很多依赖项,在vanilla R会话上安装需要几分钟).

所以听起来我需要事先安装它,这导致我们接近2.

(2)我的集群相当大.而且我必须使用像Ansible这样的工具来使它工作.所以我更喜欢使用一个Linux shell命令来安装库.我之前看过R CMD INSTALL …然而,感觉就像只从源文件安装软件包而不是在R控制台中安装install.packages(),找出镜像,拉出源文件,在一个命令中安装它.

谁能告诉我如何在shell中使用一个命令行来非交互式安装R包?
(对不起这么多背景知识,如果有人认为我甚至没有遵循正确的哲学,请随意留下评论如何管理整个集群R包.)

解决方法

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

我一直使用install.r脚本从shell安装包.有一个second variant with more command-line argument parsing,但它有一个额外的依赖.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读