如何在 map() 中使用 suppressMessages()

How to use suppressMessages() inside map()

提问人:Bibe 提问时间:2/15/2019 更新时间:10/18/2023 访问量:278

问:

我做了一个函数,用这个函数生成消息。并且还用于跟踪进度。 我在调用中运行此函数以遍历长列表,例如: .因此,该消息一遍又一遍地显示。 我想像这样抑制该消息,但它没有效果。my_fun()message()pb$tick()progress::progress_barpurrr::map()map(my_list, my_fun)map(my_list, suppressMessages(my_fun))

调用有效,但也会抑制progress_bar。suppressMessages(map(my_list, my_fun))

有没有一种方便的方法可以在不删除呼叫的情况下删除消息?message()my_fun()

r 咕噜咕噜 抑制消息

评论


答:

0赞 AnilGoyal 10/18/2023 #1

虽然您没有为您的用例包含任何可重现的示例,但在我看来,以下使用匿名函数风格的代码应该有效。purrr

map(my_list, ~ suppressMessages(my_fun(.x)))

不要忘记在上面使用twiddle。~