如何防止命令行参数由 R 解释而不是仅由我的脚本解释?

2023-12-22

我正在使用docopt https://github.com/docopt/docopt.RR 的实现。我的脚本有一个命令行选项,其缩写形式为-g。当我运行我的脚本时,似乎这个参数首先由 R 解释,然后由我的脚本解释。因此,我因为没有为 GUI 指定值而受到批评。我可以阻止 R 尝试使用这些命令行参数吗?

脚本示例:

#!/usr/bin/Rscript

suppressPackageStartupMessages(library(docopt))

"docopt practice script

Usage: foo.R [-g <goodies>]

Options:
     -g <goodies>, --goodies=<goodies>  Goodies
" -> doc

opts <- docopt(doc)
cat(sprintf("goodies = %s\n", opts$goodies))

这是我运行时发生的情况:

Jennifers-MacBook-Pro-3:scripts jenny$ ./foo.R -g donuts
WARNING: --gui or -g without value ignored
goodies = donuts

如果您将选项的缩写形式从-g to -j, the WARNING消失了……但我有充分的理由使用这封信g!


正如@krlmlr 所指出的,这个问题与Rscript(在你的哈希爆炸中)。一种解决方法是使用优秀的提供的功能littler http://dirk.eddelbuettel.com/code/littler.html代替Rscript。例如,使用#!/usr/bin/Rscript in foo.R,我得到了这个问题:

[nathan@nrussell R]$ ./foo.R -g donuts
WARNING: unknown gui 'donuts', using X11

goodies = donuts

替换为#!/usr/local/bin/r在新脚本中foo2.R,我得到一个干净的输出:

[nathan@nrussell R]$ ./foo2.R -g donuts
goodies = donuts

看起来您使用的是 OS X 计算机,因此如果您选择安装littler,请务必注意作者的警告:

在 OS X 上,您可能需要通过configure --program-prefix =“l”来构建它 将其重命名为 lr,因为特定操作系统认为 R 和 r 是相同的

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

如何防止命令行参数由 R 解释而不是仅由我的脚本解释? 的相关文章

  • 将 data.frame 的列中的值替换为另一个 data.frame 中的值

    我的情况是 我有一个数据框 其中有一列填充了整数 1 到 6 我想用更具描述性的标签替换这些整数 这些标签在另一个充当 键 的数据框中提供 V1 V2 1 1 LABEL1 2 2 LABEL2 3 3 LABEL3 4 4 LABEL4
  • 单击并按住 R 中的按钮闪亮?

    我希望能够通过单击 R 闪亮按钮来更改参数的值 所以我需要按钮 一个用于增加值 一个用于减少值 我想在按住按钮的同时保持值以一定的速度减少 增加 通过释放按钮的点击 动作应该停止 到目前为止我还没有找到这个选项actionButtons在
  • 根据值的运行总计创建组

    我的数据在一个变量 Y 上是唯一的 另一个变量 Z 告诉我每个 Y 中有多少人 我的问题是我想从这些 Y 和 Z 创建 45 人的组 我的意思是 每当运行总计Z 达到 45 创建一组 然后代码继续创建下一组 我的数据看起来像这样 ID X
  • R比例置信区间因子

    我正在尝试总结家庭调查的数据 因此我的大部分数据都是分类 因子 数据 我想用对某些问题的回答频率图来总结它 例如 回答某些问题的家庭百分比的条形图 误差线显示置信区间 我发现了这个很棒的教程 我认为它是我祈祷的答案 http www coo
  • r Shiny 中的 fileInput 函数没有响应

    我是 R 和 R闪亮的新手 一直致力于构建一个统计应用程序 该应用程序将允许用户导入文件 然后对数据运行不同的统计程序 直到最近 fileData 函数一直对我来说运行良好 现在每当我尝试上传文件时 都不会打开任何内容 我已尝试了所有我能想
  • R:使用管道将单个参数传递到函数中的多个位置

    我试图专门使用管道来重写以下代码 使用babynames包中的babynames数据 library babynames library dplyr myDF lt babynames gt group by year gt summari
  • 在捕食者-被捕食者系统的生态建模中正确使用 deSolve

    我有一个捕食者 被捕食者模型 其中包含指定的参数和初始值 我在这里用两种方法求解微分方程 1 使用 for 循环 2 使用 deSolve 包 我相信 for 循环是正确的 并且应该给出如下图所示的输出 For loop attempt r
  • R:在函数中包含循环?

    以下代码可用于创建一个 data frame 其中 Kendall Tau 和 Spearman 相关结果彼此相邻 data mtcars mtcars correlation lt function x y df1 cor data fr
  • 在 R 中修改传单弹出窗口

    我想修改 R 中传单弹出窗口的外观 帮助文件指出 in the popupOptions 函数需要 传递给底层 Javascript 对象构造函数的额外选项 In 这个例子 https rstudio github io leaflet p
  • 当子集长度为零时,如何简洁地处理子集?

    从向量中排除元素x x lt c 1 4 3 2 我们可以减去位置向量 excl lt c 2 3 x excl 1 1 2 这也是动态工作的 excl lt which x which max x gt quantile x 25 1 2
  • 如何在 Shiny 中动态渲染的 textInput 添加样式元素

    你好堆栈溢出 在我最近提出的问题中 我已经解决了一些与动态渲染 UI 元素相关的主要问题 并在一些了不起的人的帮助下动态创建了观察者 参见此处 动态渲染的 UI 如何在第二次运行时删除旧的反应变量 https stackoverflow c
  • 分割单个 SpatialPolygons 对象的多边形部分

    在 R 中 我有一个SpatialPolygons包含数百个多边形的对象 即多个多边形 我想分割这个SpatialPolygons对象放入列表中Polygons 即孔应保持连接到父多边形 知道如何做到这一点吗 EDITED 使用以下提供的示
  • 如何在 R 中查找平衡面板数据(又名,如何查找面板中的哪些条目在给定窗口内完整)

    我有来自 Compustat 的大量数据 我向其中添加了一些手工收集的数据 认真地从一堆旧书中手工收集 但我不想手工收集整个面板 只想随机选择一个子集 为了找到更大的集合 我从中随机选择 我想从 Compustat 的平衡面板开始 我看到p
  • 在 Linux 下更改 RStudio 用户界面(不是图形等)中的字体大小

    This is not关于更改使用 RStudio 生成的图表中的字体大小的问题 我已经知道该怎么做了 我在配备 视网膜 显示屏的 MacBook Pro 上的 Linux 下使用 RStudio 我使用 KDE 作为我的窗口管理器 我可以
  • 如何将 mcmc.list 转换为 bugs 对象?

    我正在使用rjagsR 库 功能coda samples产生一个mcmc list 例如 来自example coda samples library rjags data LINE LINE recompile LINE out lt c
  • 通过 RCpp 返回 NA

    新手 RCpp 问题在这里 How can I make a NumericVector returnNA到R 例如 假设我有一个 RCpp 代码 它分配NA到向量的第一个元素 RCpp export NumericVector myFun
  • 绘制带有颜色渐变的geom_segment线? (或者还有另一种方法来强调开始与结束吗?)

    我的数据框中有大量行 100 000 的两组纬度和经度变量 我正在尝试绘制一个连接这两组坐标的图 即 从纬度1 经度1 to 纬度2 经度2 使用 geom segment 使用非常低的 alpha 使线条透明 因为线条太多 我想强调这些线
  • 如何处理包内部的 R 数据?

    我正在开发的 R 包需要多个 R 数据对象 例如预先计算的模型和参数 目前 我将包的 数据 目录中的每个对象放在单独的 RData 文件中 使用该包时 用户可以使用 数据 功能将这些对象附加到他们的环境中 我想要的行为是 在加载包时 数据对
  • 一次评论多个对象

    假设您有一个变量 a 到 j 的列表 for x in 1 10 assign letters x x 您将如何评论那些最近创建的对象 我尝试过类似的事情 for x in 1 10 comment get letters x lt pas
  • DT数据表中的列对齐

    In my shiny我正在使用的应用程序datatable函数来自DT库构建一个表格并希望将列居中对齐 我可以用formatStyle column textAlign center 但它只影响列体而不影响标题 我们必须设置columnD

随机推荐

  • 验证 Windows 文件名

    如何确定给定字符串是否是有效的 Windows 文件名 我正在考虑一些可以给出字符串并返回布尔值的函数 它应该检查不允许的字符 和保留字 CON PRN 等 isValidWindowsFilename readme txt true is
  • Rails 3 不适用于 Windows 7

    红宝石 1 8 7 宝石1 3 7 导轨 3 0 0 3 0 0 rc 当我写rails v时 错误信息来了 在任何 gem 源中都找不到 gem mysql2 0 runtime gt 尝试运行 捆绑安装 当我运行bundle insta
  • Java正则表达式匹配开始/结束标签导致堆栈溢出

    标准执行情况Java Pattern类使用递归来实现多种形式的正则表达式 例如 某些运算符 交替 这种方法会导致输入字符串超过 相对较小 长度的堆栈溢出问题 该长度甚至可能不超过 1 000 个字符 具体取决于所涉及的正则表达式 一个典型的
  • MS-SQL 按降序对输出进行排序

    我有一个 MS SQL 查询 数据库中有数千行记录 SELECT DISTINCT TOP 7 DATENAME MM mydatetime CAST DAY mydatetime AS VARCHAR 2 as thedate MONTH
  • MASM SEG 运营商

    假设我们正在使用 MASM 6 1 16 位 大数据模型编写汇编代码 并且我们有一个名为 MY VAR 的变量 标签 一个名为 MY SEG 的段和一个名为 MY GROUP 的段组 假设 MY VAR 放置在 MY SEG 中 并且 MY
  • 使用 Powershell 监听按键,但不要等待

    我正在尝试编写一个定期切换大写锁定键的脚本 但我也希望能够切换该脚本 因为它会导致其他功能出现一些问题 例如 alt tab 键 以及滚动任务栏中的窗口以查看预览 到目前为止我的脚本是 outer while true do echo To
  • 如何在 Blazor 中执行客户端 UI 事件

    我刚刚开始使用 Blazor 我已经看到了这个新框架的巨大潜力 不过 我想知道它将如何处理简单的事情 例如将焦点设置在输入控件上 例如 在处理单击事件后 我想将焦点设置到文本输入控件 我是否必须使用 JQuery 来完成类似的事情 或者 B
  • 使用 SQLAlchemy 正确的文件结构以及如何将数据添加到数据库

    我正在尝试构建一个简单的博客平台来学习Python和Flask 我正在使用 SQLAlchemy 连接到 Heroku 和 Flask s3 上托管的 Postgres 数据库 以提供来自 AWS 存储桶的静态文件 我主要是遵循这个 htt
  • google.maps.places 及其自动完成方法未定义

    我正在加载谷歌地图 API https developers google com maps documentation javascript jQuery http jquery com 和这个地理完整 http ubilabs gith
  • 在 Spring 框架下:警告:警告找不到记录器的附加程序(org.springframework.web.context.ContextLoader)

    我花了一整天的时间试图解决 web 应用程序中使用 log4j 时遇到的日志记录问题 无论我做什么 我都无法摆脱以下问题 log4j WARN No appenders could be found for logger org sprin
  • 如何在 python 中正确打印 unicode 字符列表?

    我正在尝试在 python 字符串中搜索表情符号 所以我有 例如 em test U0001f680 print em test test This is a test string if any x in test for x in em
  • 将文本识别为简体中文与繁体中文

    给定一段已知为中文且以 UTF 8 编码的文本块 有没有办法确定它是简体还是繁体 我不知道这是否有效 但我会尝试使用 iconv 来查看它是否能在字符集之间正确转换 并将相同转换的结果与 TRANSLIT 和 IGNORE 进行比较 如果两
  • Opera Unite 和 Node.js 有什么区别?

    两者似乎都允许完全使用 JavaScript 编写应用程序 两者都允许服务器端 JS 和客户端 JS 那么 从技术和编程的角度来看 两者有什么区别呢 Opera Unite 是一种协作技术 它使用 Opera 桌面浏览器内的紧凑型服务器来共
  • 查询矩形集合以查找输入矩形的重叠

    在多维空间中 我有一组矩形 所有矩形都与网格对齐 我宽松地使用 矩形 这个词 在三维空间中 它们将是矩形棱柱 我想查询此集合中与输入矩形重叠的所有矩形 保存矩形集合的最佳数据结构是什么 我会不时地向集合中添加矩形和从集合中删除矩形 但这些操
  • 监听键盘事件而不捕获它们?

    我正在编写一个命令行应用程序 它侦听 X Windows 中的 Control 键释放事件 并在检测到这些事件时向另一个进程发出警报 作为 GNU Linux 的新手 我宁愿避免摸索 GCC 因此我正在寻找基于脚本的解决方案 由于我对 Py
  • 是否可以在运行时更改 AWS Lambda 的日志级别?

    我在 AWS 上运行 lambda 并使用 slf4j 进行日志记录 项目要求的一部分是可以使用环境变量在运行时设置日志级别 但我不确定这是否可能 我使用以下代码 但将 UI 中的环境变量 LOG LEVEL 更改为 DEBUG 对添加到
  • DBMS_XPLAN.DISPLAY_CURSOR 与解释计划(如果不使用 Gather_plan_statistics 提示)

    只是要求澄清两者之间的区别 据我所知 解释计划为您提供了理论的执行计划 而 DBMS XPLAN DISPLAY CURSOR 为您提供actual带有语句执行统计信息的执行计划 EXPLAIN PLAN 将此数据存储在 PLAN TABL
  • Blazor onclick 事件从循环传入计数器

    我目前正在通过 Blazor 中的本地解决方案实现表分页 但遇到了一些困难 麻烦的代码如下 用于渲染网格下方的分页按钮 for int i 0 i lt vm TotalPages i
  • easy_install 安装了各种版本的 python、mac osx

    我在 mac OSX 10 6 机器上有各种版本的 python 其中一些安装了 macports gt python select l Available versions current none python24 python26 p
  • 如何防止命令行参数由 R 解释而不是仅由我的脚本解释?

    我正在使用docopt https github com docopt docopt RR 的实现 我的脚本有一个命令行选项 其缩写形式为 g 当我运行我的脚本时 似乎这个参数首先由 R 解释 然后由我的脚本解释 因此 我因为没有为 GUI