从 bash 脚本中生成并执行 R、Python 等脚本

2024-01-01

一段时间以来我一直在尝试寻找解决方案,但尚未找到令人满意的解决方案。我编写了很多 bash 脚本,但有时我想使用 R 或 Python 作为脚本的一部分。现在,我最终不得不编写两个脚本;原始的 bash 脚本执行前半部分任务,而 R 或 Python 脚本执行后半部分任务。我从 bash 脚本中调用 R/Python 脚本。

我对这个解决方案不满意,因为它将我的程序拆分为两个文件,这增加了事情不同步、需要跟踪更多文件等的可能性。有没有一种方法可以编写包含全部内容的文本块我的 R/Python 脚本,然后让 bash 将其吐出到一个文件中并向其传递参数并执行它?有更简单的解决方案吗?这比将简单的单行代码传递给 R/Python 更复杂,因为它通常涉及通过几个步骤创建和操作对象。


可能有很多解决方案,但这个有效:

#!/bin/bash
## do stuff
R --slave <<EOF
  ## R code
  set.seed(101)
  rnorm($1)
EOF

如果您希望灵活地将额外的 bash 参数传递给 R,我建议:

#!/bin/bash
## do stuff
R --slave --args $@ <<EOF
  ## R code
  set.seed(101)
  args <- as.numeric(commandArgs(trailingOnly=TRUE))
  do.call(rnorm,as.list(args))
EOF
  • 这允许灵活数量的参数,但假设它们都是数字
  • 它还假设所有参数都将从 bash 脚本传递到 R 子脚本

显然你可以放松这些,例如按位置引用参数

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 bash 脚本中生成并执行 R、Python 等脚本 的相关文章

  • Keras,如何获取每一层的输出?

    我已经用 CNN 训练了一个二元分类模型 这是我的代码 model Sequential model add Convolution2D nb filters kernel size 0 kernel size 1 border mode
  • 在一张图中同时绘制两个截面强度

    我有一个形状数组 512 512 看起来像 行 x 列 y 密度 z 数组的数量 0 012825 0 020408 0 022976 0 015938 0 02165 0 024357 0 036332 0 031904 0 025462
  • 如何编写高效的配对算法?

    我需要一种算法的帮助 该算法可以有效地将人们分组 并确保以前的配对不会重复 例如 假设我们有 10 位候选人 candidates 0 1 2 3 4 5 6 7 8 9 并假设我们有一个先前匹配的字典 这样每个键值对即candidate
  • Python 中的二进制相移键控

    我目前正在编写一些代码 以使用音频转换通过激光传输消息 文件 和其他数据 我当前的代码使用 python 中 binascii 模块中的 hexlify 函数将数据转换为二进制 然后为 1 发出一个音调 为 0 发出不同的音调 这在理论上是
  • 用于打印 C/C++ 文件的所有函数定义的 Python 脚本

    我想要一个 python 脚本来打印 C C 文件中定义的所有函数的列表 e g abc c定义两个函数为 void func1 int func2 int i printf d i return 1 我只想搜索文件 abc c 并打印其中
  • 在 r 中使用 SSasymp

    我想我不知道如何在 r 中使用 SSasymp 函数 我想为我的项目创建一个渐近函数 我试过这个 c lt seq 0 200 0 5 d lt SSasymp c 500 0 log 50 plot c d type l log 50 应
  • 如何通过facebook-sdk python api获取用户帖子?

    我使用 facebook jssdk 授权我的应用程序读取用户个人资料和用户帖子 FB login function response scope user status user likes user photos user videos
  • Sweave + RweaveHTML:cat 输出未出现在输出中

    我对 Sweave RweaveHTML 有疑问 我希望 cat 的输出最终出现在正在生成的 html 文件中 我有一个案例 它没有 我不明白为什么 test function bla bla cat Result is 然后在 Rnw 文
  • 如何在Python中正确声明ctype结构+联合?

    我正在制作一个二进制数据解析器 虽然我可以依靠 C 但我想看看是否可以使用 Python 来完成该任务 我对如何实现这一点有一些了解 我当前的实现如下所示 from ctypes import class sHeader Structure
  • 指定 Parquet 属性 pyspark

    如何在 PySpark 中指定 Parquet 块大小和页面大小 我到处搜索 但找不到任何有关函数调用或导入库的文档 根据火花用户档案 https mail archives apache org mod mbox spark user 2
  • 如何创建指向指针数组的 Python ctypes 指针

    我需要学习如何处理char 在下面的 C 方法中通过 Python ctypes 我通过使用调用其他只需要单个指针的方法做得很好create string buffer 但此方法需要一个指向指针数组的指针 ladybugConvertToM
  • 如何在 Spyder IDE 中安装 Selenium 包

    我刚刚在工作中安装了 Spyder IDE 仅 Spyder 不是整个 Anaconda 并且希望使用 FireFox 自动化我的工作 我的问题是 如何安装 Selenium 软件包 I figured it out Here is ins
  • Scrapy - 不会爬行

    我正在尝试运行递归爬行 由于我编写的爬行不能正常工作 因此我从网络上提取了一个示例并进行了尝试 我真的不知道问题出在哪里 但是爬行没有显示任何错误 谁能帮我这个 另外 是否有任何逐步调试工具可以帮助理解蜘蛛的爬行流程 非常感谢任何与此相关的
  • if/else 在 while 循环内正确缩进[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我开始学习 Python 编程大约几周了 我遇到了一些麻烦 下面的代码是一个小程序 用于检查列表中是否有偶数 如果找到第一个偶数
  • 写入 UDP 套接字会被阻塞吗?

    如果是的话 在什么条件下 或者 换句话说 在twisted 中运行此代码是否安全 class StatsdClient AbstractStatsdClient def init self host port super StatsdCli
  • 如何使用 python-gnupg 加密大型数据集而不占用所有内存?

    我的磁盘上有一个非常大的文本文件 假设它是 1 GB 或更多 还假设该文件中的数据有 n每 120 个字符一个字符 我在用python gnupg https pythonhosted org python gnupg 对此文件进行加密 由
  • Pandas - 分割大的Excel文件

    我有一个大约有 500 000 行的 Excel 文件 我想将其拆分为多个 Excel 文件 每个文件有 50 000 行 我想用熊猫来做 这样它会是最快和最简单的 有什么想法如何制作吗 感谢您的帮助 假设您的 Excel 文件只有一个 第
  • python 的 fcntl.flock 函数是否提供文件访问的线程级锁定?

    Python 的 fcnt 模块提供了一种名为 flock 1 的方法来证明文件锁定 其描述如下 对文件执行锁定操作op 描述符 fd 文件对象提供 fileno 方法被接受为 出色地 请参阅 Unix 手册集群 2 了解详情 在某些系统上
  • 在没有numpy的情况下在python中分配变量NaN

    大多数语言都有一个 NaN 常量 您可以使用它为变量分配值 NaN python 可以在不使用 numpy 的情况下做到这一点吗 是的 使用math nan https docs python org 3 library math html
  • 在 pip 中为 Flask 应用程序构建 docker 映像失败

    from alpine latest RUN apk add no cache python3 dev pip3 install upgrade pip WORKDIR backend COPY backend RUN pip no cac

随机推荐

  • PHP Excel - 您尝试打开的文件 .xls 的格式与文件扩展名指定的格式不同

    早上好 我使用 API JASPER JasperClient php 其中我使用函数 runReport 返回 xls 在 php 代码中我想从服务器下载 Excel 文件 设置标题 header 内容类型 application vnd
  • 如何让 Bazel、ccache 和沙箱协同工作(ccache 只读文件系统)

    我正在尝试使用通过 copr 安装的 Bazel 0 16 1 和通过 DNF 安装的 ccache 3 4 2 在 Fedora 28 上构建 C 应用程序 我使用默认的 cc binary 和 cc library 规则 当我运行 ba
  • 最小的 Android SDK

    我想我可以通过反复试验找到答案 但其他人可能已经弄清楚了 构建 Android 项目需要哪些 Android SDK 文件 我不需要其余的 并且喜欢将它们剥离 如果您从不使用任何文档 则可以安全地删除 0 5 GB 的文档 您还可以确保仅安
  • 将 Trait 值传递给 SubFactory Django

    我有两个工厂 class DispatchDataFactory factory django DjangoModelFactory class Meta model models DispatchData order factory Se
  • Snowflake date_trunc 从日期中删除时间

    我有雪花列 其中包含 yyyy mm dd hh MM ss 格式的日期 我使用下面的函数 date trunc DAY 2019 09 23 12 33 25 输出 2019 09 23 00 00 00 预计按照文档 https doc
  • 在 C# 中使用参数的成本

    有人对在 C 中使用 params 进行方法参数传递有建议吗 我正在考虑使用 params 功能对前 6 个参数进行重载 然后对第 7 个参数进行重载 我的理由是避免参数功能所需的额外数组分配 这是针对一些高性能实用方法的 有什么建议吗 创
  • 用随机颜色填充封闭区域 - Haskell - 星期五

    我正在尝试执行不是很复杂的图像分析 以尝试找到不同的形状并计算它们的一些参数 例如面积和周长 以像素为单位 并且我正在尝试在 Haskell 中执行此操作 我想这样做是为了尝试使用函数式编程语言 The first task in line
  • 使用gson反序列化对象的特定JSON字段

    我有以下 JSON 字符串 ms images 5160 1 turl http ts1 mm bing net th id I4693880201938488 pid 1 1 height 178 width 300 imgurl htt
  • MySQL C# 连接字符串故障转移

    我知道我可以用逗号分隔连接字符串中的主机 它将使用不同的服务器 https www connectionstrings com mysql connector net mysqlconnection multiple servers htt
  • 是否可以仅在我的项目中使用 Django models 模块?

    我正在开发一个使用 Celery 的小型独立 python 应用程序 我使用 django 框架构建了这个 但我的应用程序只是后端 这意味着用户不需要访问我的网站 并且我的应用程序只是为了从 celery 接收任务队列并对数据库执行操作而构
  • 在哪里指定窗口组件的位置?

    我在 netBeans 平台中创建了模块 然后在那里创建了窗口组件 我想指定主窗口中的默认位置 例如职位 编辑 我在哪里可以做 在 NetBeans 7 下 从 输出 位置更改为 编辑器 位置 在您的 Window 类中 更改注释 TopC
  • 有哪些适合初学者的优秀 Erlang 入门/教程?

    有哪些可以深入了解 Erlang 和函数式编程的好链接 这可能值得一看http learnyousomeerlang com http learnyousomeerlang com
  • Xml 架构:空 targetNamespace

    在 Xml 架构中不使用 targetNamespace 属性或使用空属性是否合法 如果是这样 那么这意味着什么 我们是在 空命名空间 始终存在 中 添加 一些东西 还是创建一个与其他模式无关的 匿名命名空间 实例 xml 文档是什么样子的
  • 以编程方式创建的窗口居中

    我一直在使用这里的示例来创建一个自定义的无标题栏窗口 在 Mac OS X 上绘制自定义窗口 http cocoawithlove com 2008 12 drawing custom window on mac os x html 我发现
  • 使用 col-md-push-* 将列推到下一行

    我有以下 6 个构建模块 1 2 3 4 5 6 所有块在一行中都有一个 col sm 6 类 但由于块 3 超出了 bootstraps 12 列结构 它将跳转到下一行 完美就是我想要的 唯一的问题是 我想交换第 2 块和第 3 块 但它
  • Vue 3 不会检测到对 Vue 组件外部创建的对象所做的更改

    我有一个班级角色 Character ts This is called when server responds public setAttributeByType type StatsTypes value number void sw
  • 找不到实体类型属性的支持字段,并且该属性没有 getter

    我遇到了异常 System InvalidOperationException No backing field could be found for property ApartmentId of entity type Address
  • 从变量扩展环境变量

    我有一个看起来像这样的代码 my var MY FIRST ENV VAR 我的问题是 如何从环境变量 MY ENV VAR 中获取值 我已经尝试了很多东西 但主要问题是 my var 现在是一个字符串 我想这样做的原因是因为我有一些名称几
  • 将 Roslyn 编译的程序集加载到沙箱 ​​AppDomain 中

    我有一个代码片段 它使用脚本引擎编译脚本 并将程序集作为字节数组检索 现在我想加载这个Assembly在沙盒中 这就是我所拥有的 Assembly dynamicAssembly ScriptEngine engine Session se
  • 从 bash 脚本中生成并执行 R、Python 等脚本

    一段时间以来我一直在尝试寻找解决方案 但尚未找到令人满意的解决方案 我编写了很多 bash 脚本 但有时我想使用 R 或 Python 作为脚本的一部分 现在 我最终不得不编写两个脚本 原始的 bash 脚本执行前半部分任务 而 R 或 P