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

将bash脚本合并到R包中?

发布时间:2020-12-15 22:36:29 所属栏目:安全 来源:网络整理
导读:背景 我正在编写R包以支持可重复的研究.此时,工作流主要由bash脚本组合在一起,我可以通过发送像./runscript.sh这样的单个命令来运行分析.我使用bash进行以下操作: 文件操作tar,rsync,’rename’ 在本地和通过ssh运行bash文件 使用R -vanilla运行R脚本,然后
背景

我正在编写R包以支持可重复的研究.此时,工作流主要由bash脚本组合在一起,我可以通过发送像./runscript.sh这样的单个命令来运行分析.我使用bash进行以下操作:

>文件操作tar,rsync,’rename’
>在本地和通过ssh运行bash文件
>使用R -vanilla运行R脚本,然后调用R函数
>使用sed查找和替换文件中的文本
>通过qsub提交工作

在我看来,从R函数或R脚本执行整个工作流程会更有效(更清晰,更简单).我偏爱R,因为我对它更熟悉并且主要在emacs ESS中工作.

问题

>使用系统和文件函数将所有这些bash的使用封装在R中是否值得?
>我还没有找到其他R包,这对我们有帮助吗?

笔记

按照Al3xa的回答,我意识到重要的是要注意使用例如速度惩罚. R vs bash版本的tar和gsub在1000-2000文件上可能会比工作流程中的当前速率限制步骤少:JAGS(~10-20min)和FORTRAN(> 4hrs)的计算

解决方法

我非常喜欢将R用作“集成”环境与bash脚本.我正在将所有bash和 ruby脚本移动到Rscript,因为我需要对它们进行更改.

只有几个原因不会让人想到将所有东西都转移到R中.我主要是指使用Rscript来实现这一目标

1)速度,从我的测试来看,在我遇到的任何情况下都会产生适度的影响,并且相对于你提到的时间而言是微不足道的.

2)可移植性,因为Rscript的路径等可能在系统之间是不同的.我在OS X上写东西并将它们移到Linux服务器上没有问题,但在Windows上可能会中断.

我书中的优点是:

1)我写起来容易得多.我不必在条件语句和for循环之类的细微特性之间来回切换.

2)更宽容.我无法描述我花了多少时间来尝试让bash脚本工作,因为我不小心有一个我不应该拥有的空间. R在这方面要好得多(是的,当然,我们都应该完全遵循R中的惯例,但我宁愿它不会让我停顿几个小时,如果我不这样做).

3)我做得更好.对于tar文件而言并不重要,但我发现我在R与awk / sed中做了更好的文本操作.

Re:有用的软件包 – 根据我的知识,这不存在,但是我喜欢基于R的make版本.make的语法是最不灵活的一种(标签与空格?真的吗?) – 我想写一个基于R的替代方案.有一天,我会……

(编辑:李大同)

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

    推荐文章
      热点阅读