R:格式化`warning()`的输出,以获得多行以上的选项列表

时间:2012-09-09 23:41:45

标签: 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中获取数字选择)

谢谢!

1 个答案:

答案 0 :(得分:5)

这个怎么样:

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"