如何使用控制台输出捕获警告?

2023-12-13

我正在尝试捕获 R 脚本的完整控制台日志。我想要所有事情按时间顺序排列,并在发生时打印警告。我试过这个:

options(warn = 1)

tmpSinkfileName <- tempfile()
sink(tmpSinkfileName, split = TRUE)

cat("Doing something\n")
warning("Hi here")
cat("Doing something else\n")
warning("Hi there")

sink()
console.out <- readChar(tmpSinkfileName, file.info(tmpSinkfileName)$size)
unlink(tmpSinkfileName)

cat(console.out)
# Doing something
# Doing something else
warnings()
# NULL

但不幸的是,警告丢失了console.out。我怎样才能做到这一点?根据文档,options(warn = 1)应在警告发生时打印警告。不幸的是,他们没有被俘虏sink().


几乎明白了,但它非常复杂,而且非常烦人的是,与标准输出不同,消息输出无法拆分,即重定向到文件并同时保留在输出中(UNIX tee 行为)!

options(warn = 1)

tmpSinkfileName <- tempfile()
tmpFD <- file(tmpSinkfileName, open = "wt")
sink(tmpFD, split = TRUE)
sink(tmpFD, type = "message") 

cat("Doing something\n")
warning("Hi here")
cat("Doing something else\n")
warning("Hi there")

sink(type = "message") 
sink()
console.out <- readChar(tmpSinkfileName, file.info(tmpSinkfileName)$size)
unlink(tmpSinkfileName)

cat(console.out)

If I try

sink(tmpFD, type = "message", split = TRUE) 

it says

接收器错误(tmpFD,type =“message”,split = TRUE):无法拆分 消息连接

这很烦人!

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

如何使用控制台输出捕获警告? 的相关文章

  • R data.table 使用列作为参数将函数应用于行

    我有以下内容data table x structure list f1 1 3 f2 3 5 Names c f1 f2 row names c NA 3L class c data table data frame 我想对每一行应用一个
  • 在 dplyr tbl_df 中获取删除列的最佳实践

    我记得 2001 年 r help 上的一条评论说drop TRUE in data frame是 R 历史上最糟糕的设计决策 dplyr纠正这一点并且不会隐式删除 当尝试将旧代码转换为dplyr风格 这会引入一些讨厌的错误d 1 or d
  • 使用 cmd 和 R 配置 databricks

    我正在尝试使用 databricks cli 并调用 databricks 配置 这就是我从 cmd 执行此操作的方法 somepath gt databricks configure token Databricks Host shoul
  • 包“diamonds”不可用(对于 R 版本 3.0.0)[重复]

    这个问题在这里已经有答案了 在我的 R 环境中拥有钻石包 数据集的简单方法是什么 我是使用 RStudio 3 0 的新手 gt install packages diamonds Warning in install packages p
  • 将最新的 R 安装路径从注册表添加到 PATH windows 7/8/10

    嗨 我是 Windows 批处理新手 我想向打电话的同事分发一个 runMe bat 文件Rscript myRfile R处理一些数据文件 但众所周知 我的同事在不同地方安装了 R 我不能指望他们知道如何将 Rscript 添加到 PAT
  • 在 R 中组合/合并列

    我可能在这个问题上遗漏了一些很容易的东西 我在任何地方都找不到正确的答案 我真的需要继续前进 所以我过度简化了我的数据 eventID lt c 2 4 Time lt c 09 32 09 43 df1 lt data frame eve
  • 从数据/系数创建 lm 对象

    有谁知道可以在给定数据集和系数的情况下创建 lm 对象的函数 我对此很感兴趣 因为我开始使用贝叶斯模型平均 BMA 并且我希望能够根据 bicreg 的结果创建 lm 对象 我想访问所有不错的通用 lm 函数 例如诊断绘图 预测 cv lm
  • 带有 selectInputs 的 DT 数据表在选择后重置回左侧

    我在 Shiny 应用程序的 DT 数据表的列中使用 selectInputs 感谢一些帮助here https stackoverflow com questions 74620665 vertically center selectin
  • 从谷歌街道地址中提取城市和州信息

    我有一个数据集 其中包含不同点位置的纬度 经度信息 我想知道与每个点关联的城市和州 按照此example https stackoverflow com questions 22911642 applying revgeocode to a
  • 没有适用于“filter_”的方法应用于类“c('double', 'numeric')”的对象

    使用下面的代码 我尝试过滤我的数据集 以便仅选择 CG less14 0 和 CG High14 0 的数据集 我收到错误 没有适用于 filter 的方法应用于 c double numeric 类的对象 我的代码有问题吗 married
  • 使用同一变量的多个子集创建新数据框

    我想创建一个新的数据框 其中的列是由不同变量分割的同一变量的子集 例如 我想创建一个新的变量子集 b 其中列由不同变量 year 的子集分割 set seed 88 df lt data frame year rep 1996 1998 3
  • 数据框中的动物园滞后差异

    我想将滞后差异的结果放回到我的数据框中 这意味着我将拥有针对不同滞后的领先 NA 我在用 new df lag1 lt diff new df Close lag 1 differences 1 arithmetic TRUE na pad
  • 如何从 R 中的列表列表中提取元素?

    我有一堆列表 其中包含列表 广义线性模型输出 我想编写一个函数 该函数将从每个列表中提取多个元素 然后将结果组合到数据框中 我想提取modelset 1 likelihood modelset 1 fixef modelset 2 like
  • R:读取多个Excel文件,提取第一个工作表名称,并创建新列

    我有多个 Excel 文件 并且它们具有唯一的工作表名称 在我的情况下是文件创建日期 我批量阅读它们 需要将工作表名称分配给新列 id 中的每个文件 我知道如何制作数字 id 或 id 文件名 但找不到将工作表名称获取为 id 的方法 li
  • R - 数据框列中唯一值的数量

    对于数据框df 我需要找到的唯一值some col 尝试了以下方法 length unique df some col 但这并没有给出预期的结果 然而length unique some vector 对向量进行处理并给出预期结果 创建 d
  • 从数据框中提取具有最高值和最低值的行

    我对 R 还很陌生 我主要用它来可视化统计数据ggplot2图书馆 现在我遇到了数据准备的问题 我需要编写一个函数 该函数将从数据框中删除指定列中具有最高和最低值的一些数字 2 5 或 10 行 并将它们放入另一个数据框中 并对两个因素的每
  • R 中的因素:不仅仅是烦恼?

    R 中的基本数据类型之一是因子 根据我的经验 因素基本上是一种痛苦 我从不使用它们 我总是转换为字符 我感觉很奇怪 好像我错过了什么 是否有一些使用因子作为分组变量的函数的重要示例 其中因子数据类型变得必要 当我should使用因素 你应该
  • tmap 仅在 sf 几何列中绘制第一个多边形

    tmap 仅绘制 sf 几何列中的第一个多边形 但是plot 得到他们全部 一些 github 问题tmap https github com mtennekes tmap issues 360 and leaflet https gith
  • 使Sweave + RweaveHTML将所有图形放在指定文件夹中

    作为细化这个问题 https stackoverflow com questions 4674567 how to make sweave copy generated graphics to a subfolder 有谁知道如何告诉 Sw
  • 尽管包在本地构建并通过了所有检查,但 CRAN 上的自动包提交错误

    我正在尝试向 CRAN 提交包 但它未通过一些自动检查 https win builder r project org incoming pretest influenceR 0 1 3 20230517 194638 Debian 00c

随机推荐

  • Flutter:Firebase Cloud Storage 中文件夹中的文件列表

    我需要从云存储加载一些图像文件 对于给定的文件夹 我需要检查其中有哪些图像 如果有 可用 看起来像 firebase 客户端库 https pub dev packages firebase storage 没有一个简单的方法可以做到这一点
  • 使用 C++11 正则表达式捕获上下文无关语法文件的内容

    Preface 我正在尝试编写自己的上下文无关语法规范 以与我的词法分析器 解析器的规则相关联 它的意思是类似于ANTLR 其中大写标识符分类为词法分析器规则 小写标识符分类为解析器规则 它旨在接受词法分析器规则的字符串文字和 或正则表达式
  • 我的计算机中的 Java SDK 文件夹在哪里?乌班图12.04

    我知道它已安装 因为当我输入 java version I get OpenJDK Runtime Environment IcedTea6 1 12 5 6b27 1 12 5 0ubuntu0 12 04 1 OpenJDK 64 Bi
  • 在代码块之前和之后执行方法

    我如何将一些代码括在括号中以执行以下操作 MyCustomStatement args code goes here 这样 在括号中的代码执行之前 它将调用一个方法 当括号中的代码执行完成时 它将调用另一个方法 有这样的事吗 我知道当我可以
  • 如何在 Xamarin 表单 Android 和 iOS 中实现 Deeplink(通用链接)?

    各位 我需要一步步实现Android和iOS的Applink 通用链接 请任何人帮助实现这一点 我在我的android项目中尝试了以下代码 我按照这个网址写了这个https devblogs microsoft com xamarin co
  • 如何检查 C++ 类是否不完整(仅声明)?

    我想编写一个 C 函数来检查其模板参数类是否不完整 因此只有类声明可用 但没有所有类成员的完整定义 我的功能incomplete 与一些演示程序一起看起来如下 include
  • 从服务到控制器的 $http 数据

    我正在寻找一种将请求的数据从我的服务传输到控制器的方法 简单的返回数据不起作用 我想知道为什么 test factory DataService function http log return getEmployees function
  • 如何在 T-SQL 存储过程中使用可选参数?

    我正在创建一个存储过程来搜索表 我有许多不同的搜索字段 所有这些字段都是可选的 有没有办法创建一个存储过程来处理这个问题 假设我有一个包含四个字段的表 ID FirstName LastName 和 Title 我可以做这样的事情 CREA
  • 使用 Firebug Lite 测试 IE6

    我使用 IEtester 在 IE6 中进行测试 因为客户端希望在其中看到页面 直到几周前 我还可以在 IETester 上使用 IE6 中的 firebug lite Stable Channel 尽可能地工作 现在我不能了 我不知道发生
  • IntentService 正在冻结我的应用程序 UI

    在我的应用程序中 我使用 Intentservice 从服务器获取数据并将获取的数据存储到本地 sqlite 数据库中 我正在使用 5 IntentService 来获取并填充五个表 每个 Intent Service 的数据最多可达 30
  • 我可以在 Apple Wallet 中访问哪些通行证

    我是 iOS 开发新手 想使用 PassKit 库开发一个小项目 经过大量搜索 Apple 文档 stackoverflow 后 我似乎无法清楚地理解我的问题的可能答案 是否可以访问不是我创建的通行证 现在 我不是在谈论与支付相关的通行证
  • 有没有办法统计执行的IL指令的数量?

    我想对 C 进程进行一些基准测试 但我不想使用时间作为向量 我想计算在特定方法调用中执行的 IL 指令的数量 这可能吗 Edit我并不是指方法体的静态分析 我指的是执行的实际指令数 因此 例如 如果方法体包含循环 则计数将增加 无论指令的数
  • docx 牢不可破的单词

    我正在尝试替换 docx 文件中的单词 如所述here public static void SearchAndReplace string document using WordprocessingDocument wordDoc Wor
  • 在数组上使用 .slice 方法

    我正在练习 JavaScript Koan 的数组部分 但我不完全理解为什么这些答案是正确的 如果有人可以澄清 让我知道我是否错了 我在下面添加了我的假设 it should slice arrays function var array
  • 单元测试-如何在flutter中模拟第三方库类Dio的参数

    我正在尝试测试一个简单的存储库类 该类使用依赖注入的 Dio 包进行网络调用 Http post 的要求是将 Map 对象发送到带有以下标头的 URL Content Type application json 您可以在下面看到这一点 cl
  • BeautifulSoup Div 类返回空

    我检查了类似的问题 但找不到解决方案 我正在尝试从以下页面中获取额外旅行时间的分钟数 46 https www tomtom com en gb trafficindex city istanbul 我尝试了两种方法 Xpath 和 fin
  • 划分两个 pandas DataFrame 并保留非数字列

    我有两个包含数字和非数字值的 pandas DataFrame 我想将一个除以另一个 但保留非数字列 这是一个 MWE a pd DataFrame group1 1 2 group1 3 4 group1 5 6 columns Grou
  • 无法使用 im.getcolors

    我正在尝试这段代码 im Image open myimage colors im getcolors print colors 它返回 无 所以我尝试了这个 im Image open myimage size im size color
  • 获取Scala3宏中的类型信息

    我正在努力获取 Scala3 宏实现中的类型信息 我将通过代码来解释问题 应用逻辑如下 object BlockServiceImpl extends BlockService def authenticateUser0 new Servi
  • 如何使用控制台输出捕获警告?

    我正在尝试捕获 R 脚本的完整控制台日志 我想要所有事情按时间顺序排列 并在发生时打印警告 我试过这个 options warn 1 tmpSinkfileName lt tempfile sink tmpSinkfileName spli