R:将 `warning()` 的输出格式化为超过一行的选项列表

标签 r error-handling

我正在为未能找到与查询的正确匹配项的 R 函数编写错误处理步骤,因此向用户提供了一个选项列表。我在列表中有潜在匹配项的输出,我希望警告将其格式化为编号列表:

'multiple matches for query "Tom", select which one you want:'
 [1] Tom Bombadil
 [2] Tom Overhill
 [3] Justanother Tom

不幸的是,警告和消息似乎喜欢删除换行符。例如,如果我有:

opts <- list("Tom Bombadil", "Tom Overhill", "Justanother Tom")

命令

warning(opts)

打印:

Warning message:
Tom BombadilTom OverhillJustanother Tom 

我如何从上面把它变成我想要的格式(最好是数字,这样我就可以从 readLines 中捕获数字选择)

谢谢!

最佳答案

这个怎么样:

select.list(c("Tom Bombadil", "Tom Overhill", "Justanother Tom"),
              title = "Multiple matches for query \"Tom\", 
                       select which one you want:")
Multiple matches for query "Tom", select which one you want: 

1: Tom Bombadil
2: Tom Overhill
3: Justanother Tom

Selection: 2
[1] "Tom Overhill"

关于R:将 `warning()` 的输出格式化为超过一行的选项列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12343893/

相关文章:

r - 制作一张表格,显示R中变量的10个最大值。

r - 如何提取(几乎)完全由 NaN 组成的行和列?

reactjs - BugSnag错误边界不记录错误

vb.net - 有没有办法让我的 VB.NET 程序执行某种 "dying breath" Action ?

c++ - ifstream 打开失败时如何获取错误消息

shell - 命令行工具错误设计

r - 避风港包在R中读取SPSS数据有困难

RSelenium:抓取加载缓慢的动态加载页面

windows - 安装后运行 Rstudio 时出错

arrays - 如何获取嵌套numpy数组的各列的所有平均值?