将 Rscript 中的布尔值输出到 Bash 变量中

2024-02-21

我有一个输出 TRUE 或 FALSE 的 R 脚本。在 R 中,它使用真正的 T/F 数据类型,但是当我将其返回值回显给 bash 时,它似乎是一个字符串,表示:

"[1] TRUE"

or

"[1] FALSE"

它们的前面都有 [1]。 [0] 也不是,这不是拼写错误。无论如何,结果是当我尝试测试此 Rscript 的输出以运行后续脚本时,我必须与“[1] TRUE”进行字符串比较,如下所示,而不是与“TRUE”或“进行比较1" 感觉更干净、更好。

A=$(Rscript ~/MyR.r)
echo $A
if [ "$A" == "[1] TRUE" ]; then
    bash SecondScript.sh
fi

如何让 R 输出一个真正的布尔值,或者让 Bash 接受输出字符串并将其转换为 0/1 进行比较?也就是说,我宁愿测试...

if [ $A == TRUE ];

than

if [ "$A" == "[1] TRUE" ];

这可能吗,或者我应该对此感到满意,它是怎样的,它有效吗?

*** 更新 ***

这是生成此内容的 Rscript 的最小化版本...

myinput <- TRUE #or FALSE

FunctionName <- function(test){
  if (test == TRUE){
    val <- TRUE
  } else {
    val <- FALSE
  }
  return(val)
}

FunctionName(myinput)

您应该使用 print() 或将对象名称提供给 R 解释器时发生的隐式 print()-ing,而不是使用cat()它不会在 TRUE 或 FALSE 前面添加“[1]”。如果你想要 0/1,那么使用cat(as.numeric(.))。试试这个:

myinput <- TRUE #or FALSE
FunctionName <- function(test){
   if (test == TRUE){
              val <- TRUE
                    } else {
              val <- FALSE
            }
   cat(as.numeric(val))
}
FunctionName(myinput)

如果您需要该值进行进一步处理,您也可以使用:

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

将 Rscript 中的布尔值输出到 Bash 变量中 的相关文章

  • 分离并重新附加“tools:rstudio”

    又名玩火 以下不起作用 rstd obj lt as environment tools rstudio detach tools rstudio attach rstd obj name tools rstudio 好吧 它似乎有效 但随
  • 如何在不循环的情况下添加组ID?

    我有数据框 例如 productid ordernum p1 10 p2 20 p3 30 p4 5 p5 20 p6 8 我想添加另一列 称为 groupid 它将产品按顺序分组在一起 一旦 sum ordernum 达到 30 分配一个
  • 检查 Git 中是否需要 pull

    如何检查远程存储库是否已更改并且需要拉取 现在我使用这个简单的脚本 git pull dry run grep q v Already up to date changed 1 但它比较重 有没有更好的办法 理想的解决方案是检查所有远程分支
  • R 中的发散积分可在 Wolfram 中求解

    我知道我以前问过同样的问题 但由于我是新来的 这个问题问得不好而且不可重现 因此我在这里尝试做得更好 如果我只编辑旧的 可能没有人会读它 我有一个想要积分的二重积分 ff lt function g t exp 16 g exp 8 t t
  • 将 sf voronoi 多边形裁剪到边界框时出错

    我正在尝试将 voronoi polygons 使用 sf package 创建 剪辑 到边界框 但它引发了我无法定义的错误 我对 R 的空间世界不太有经验 感谢所有帮助 样本数据 stations lt structure list ST
  • 如何在 *nix 中登录时运行脚本?

    我知道我曾经知道如何做到这一点 但是 如何在 unix 中登录时运行脚本 bash 可以 From 维基百科 Bash http en wikipedia org wiki Bash 28Unix shell 29 当 Bash 启动时 它
  • 根据另一列中的键累积一列中的值时出现问题

    我有一个看起来像这样的数据框 我需要使用 PROJ ID 列中的字符串创建一个新的值列 并形成 PROJ NAME 列中的值字符串 这里提供的解决方案 根据 r 中另一列的键累积一列中的值 https stackoverflow com q
  • R 更改小数位且不四舍五入

    gt signif 1 89 digits 2 1 1 9 我想要1 8 这有点笨拙 但它会起作用并保持所有数字 x lt 1 829380 trunc dec lt function x n floor x 10 n 10 n Resul
  • 将函数应用于 3d 数组的每一层,返回一个数组

    假设您有一个包含行 列和层的 3 维数组 A lt array 1 27 c 3 3 3 想象你有一个函数 它接受一个矩阵作为输入并返回一个矩阵作为输出 就像t 如何将该函数应用于数组的每一层 返回与第一层大小相同的另一个数组 我觉得我应该
  • 将数据从 R 导出到 Excel

    我试图将从 R 获得的一些结果导出到 Excel 中 但未成功 我尝试过以下代码 write table ALBERTA1 D ALBERTA1 txt sep t write csv ALBERTA1 ALBERTA1 csv your
  • 如何按 data.table 中的十分位数组计算统计数据

    我有一个 data table 想按组计算统计数据 R set seed 1 R DT data table a rnorm 100 b rnorm 100 这些组应该定义为 R quantile DT a probs seq 1 9 1
  • 比较 R 中的两个字符向量

    我有两个 ID 字符向量 我想比较这两个字符向量 特别是我对以下数字感兴趣 A和B各有多少个ID 有多少个ID在A中但不在B中 有多少个ID在B但不在A 我还想画维恩图 以下是一些可以尝试的基础知识 gt A c Dog Cat Mouse
  • 为绘图制作 2D 图例 - 双变量分区统计图

    我一直在玩双变量 choropleth 地图 并且一直在如何创建类似于 2d 图例的问题上陷入困境约书亚 史蒂文斯 http www joshuastevens net cartography make a bivariate chorop
  • glmnet 未从 cv.glmnet 收敛 lambda.min

    我跑了20倍cv glmnet套索模型以获得 lambda 的 最佳 值 但是 当我尝试重现结果时glmnet 我收到一个错误 内容如下 Warning messages 1 from glmnet Fortran code error c
  • 为什么 geom_boxplot 比基本箱线图识别更多异常值?

    这是一个可重复的示例 与基本箱线图相比 最后一个治疗组又发现了一个异常值 dta lt structure list Treatment c A A A A A A A A A A A A A A A A B B B B B B B B B
  • 使用 dplyr::filter 的整洁方式是什么?

    使用下面的函数调用foo c b 输出以内联方式显示 正确的写作方式是什么df gt filter x gt x 我已经包含了一个使用的示例mutate以整洁的风格与之对比filter foo lt function variables x
  • R 中的 Websocket

    我设法在 R 中建立到 Mtgox websocket 的连接 规格如下 url https socketio mtgox com mtgox Currency USD https socketio mtgox com mtgox Curr
  • 在 macOS 上使用 find 时出现“非法选项”错误

    我试图列出末尾仅带有字母 R 的文件 我用了find在 macOS 终端中如下所示 find type f name R 但我收到消息说illegal option t 第一个参数find是它应该开始寻找的路径 路径 表示当前目录 find
  • 单击 R 中的 Sankey Chart 线时添加额外的标签值

    以下 R 闪亮脚本创建一个桑基图 如下面的快照所示 我的要求是 当我单击左右节点之间的任何链接 即 a1 和 a2 时 我希望相应的 a3 的总和出现在标签中 例如 a1 中的 A 和 a2 中的 E 总共具有值 50 和 32 因此 我想
  • 非闪亮上下文中的反应式对象绑定

    实际问题 你怎样才能近似反应性环境 行为 http shiny rstudio com tutorial lesson6 建立者shiny http shiny rstudio com函数 或者甚至可能在一个函数中使用这些函数无光泽上下文以

随机推荐

  • 编译时如何使用通配符包含 JAR 文件?

    我在 java 文件 MyRtmpClient java 中有以下内容 import org apache mina common ByteBuffer and ByteBuffer位于 JAR 文件内 当然具有正确的目录结构 该 jar
  • JQuery Ajax post 参数有时不会在 IE 上发送

    我遇到的问题是 当我使用 jquery ajax post 时 频率非常低 当我将呼叫从 post 类型切换为 get 类型时 问题就消失了 有没有其他人在 IE 上见过这种奇怪的行为 谢谢 我已经在各种 ajax 调用中看到过这种情况 但
  • 使用 Azure Function 删除 CosmosDB 条目

    我一直在寻找一种技术 通过浏览器内的代码编辑器 使用 Azure Functions 删除 Cosmos 数据库中的项目 我不想在 VS 上使用本地开发的代码有多种原因 我正在使用的代码可用here https pastebin com X
  • 向 ASP.NET Web API 控制器添加显式操作路由

    我有一个 ASP NET Web API 项目ApiController提供了一个User端点具有以下操作 GET api User POST api User DELETE api user 我想提供以下端点 GET api user m
  • 单元测试与验收测试

    你支持其中之一吗 或两者 我的理解是单元测试 从开发人员的角度验证系统 帮助开发者实践TDD 保持代码模块化 协助检测低粒度的错误 验收测试 从业务和 QC QA 角度验证系统 往往是高级别的 因为它们通常是由不熟悉代码内部工作原理的人编写
  • WebRTC - 禁用所有音频处理

    我目前正在尝试通过 webrtc 获得尽可能干净的音频通道 通过 getUserMedia mediaconstraints 对象 我设置了以下选项 constraints audio mandatory echoCancellation
  • git pre-receive hook - 获取最新代码

    我正在尝试写一个pre receive hook对于 git 来说 它将拉取正在推送的最新版本的代码并对其运行单元测试 我的代码如下 但是当它到达 git checkout newrev 时 我得到 远程 致命 引用不是树 188de39c
  • 球体/地球仪上的点与多边形之间的最短大圆距离

    我有一组由地理 WGS84 坐标指定的多边形 它们位于球体上 我有一个由纬度 经度对指定的点 我想 有效地 找到点和多边形之间的最小大圆距离 我当前的堆栈包括 fiona shapely gdal 和 proj StackOverflow
  • Hystrix 忽略运行超时

    我正在尝试使用 Hystrix 我理解文档 即使通过 运行 同步调用 Hystrix 命令也会默认在线程中运行 并且应该受到 Hystrix 中配置的超时的影响 但当我尝试时 似乎没有发生超时 我是否误解了文档 或者我做错了什么 有没有办法
  • 如何用颜色填充图像的一部分?

    我在表单中添加了图像 如何填充部分图像 我有这个 我想要实现的目标 To 洪水填埋一个你只需要日常食品填充的区域 几乎不需要其他任何东西 看这个例子 它使用两个图片框 还有一个用于显示所选颜色的标签 还有两个鼠标单击事件 其中一个用于选择颜
  • 在j2me中从收件箱读取短信

    我正在使用j2me技术 我的应用程序用于发送和接收短信 发件人无法在特定端口上发送短信 短信始终会发送到收件箱 j2me 可以从收件箱读取短信吗 不 您无法从 J2ME 中的收件箱读取 SMS 但是 您可以使用 AT 命令来执行此操作 如我
  • Backbone.js - 删除所有子视图

    我有一个顶级 PageView 只要路线发生变化 它就会重新渲染自身 我有许多嵌套的子视图嵌入到此 PageView 中 如果我要重新渲染 PageView 是否需要删除 取消绑定所有嵌套的子视图以及 PageView 还是只需要删除 取消
  • 创建一个数组,其中相同的元素重复多次

    在 Python 中 其中 2 是一个列表 以下代码给出此输出 2 5 Outputs 2 2 2 2 2 有没有一种简单的方法可以用 JavaScript 中的数组来做到这一点 我编写了以下函数来执行此操作 但是有更短或更好的函数吗 va
  • Spring Data JPA - 用于 json 序列化的 ZonedDateTime 格式

    我的 json 序列化有问题ZonedDateTime 当转换为 json 时 它会产生一个巨大的对象 我不希望每次都传输所有数据 所以我尝试将其格式化为ISO 但它不起作用 我怎样才能让它格式化 这是我的实体类 MappedSupercl
  • 实体框架 Scaffold-DbContext 用户登录失败

    我正在尝试使用 Visual Studio 2017 和 NET Core 2 与 Entity Framework Core 构建 API 我正在按照以下指示进行操作这个链接 https learn microsoft com en us
  • 如何为头像图像创建五边形形状?

    我不知道如何为用户头像图像 或 svg 创建五边形形状 寻找指向下方而不是指向上方的形状 我在这里找到了例子http css tricks com examples ShapesOfCSS http css tricks com examp
  • 以其他用户身份运行时无法捕获输出

    我正在制作一个应用程序 允许客户端在对话框中列出所有正在运行的进程 我目前有以下代码 但我无法弄清楚为什么它不起作用 我没有看到任何输出 无论是 stderr 还是 stdout 有人可以指出我正确的方向吗 private void but
  • PHPMailer 附件,无需物理文件即可完成

    So Setup mail class recipients and body mailer gt AddAttachment home mywebsite public html file zip file zip The AddAtta
  • 如何在没有外部定时器的情况下设置QNetworkReply超时?

    是否可以设置超时时间QNetworkReply 所以很长一段时间没有来自服务器的回复 它可能会发出finished signal 不使用计时器是不可能的 但您不必显式编写计时器代码 该功能可以巧妙地打包到静态函数中 就像超时是回复的可设置属
  • 将 Rscript 中的布尔值输出到 Bash 变量中

    我有一个输出 TRUE 或 FALSE 的 R 脚本 在 R 中 它使用真正的 T F 数据类型 但是当我将其返回值回显给 bash 时 它似乎是一个字符串 表示 1 TRUE or 1 FALSE 它们的前面都有 1 0 也不是 这不是拼