如何在HTML文件中抑制imfr包的数据下载进度显示
解决imfr包下载IMF数据时抑制进度输出的问题
以下是两种无需单独设置代码块的解决方案:
- 方案1:修改imf_data函数的默认参数
在全局代码块中添加以下代码,将imf_data的进度显示默认关闭,之后所有调用该函数都会自动抑制进度输出:
library(imfr) # 把imf_data的progress参数默认设为FALSE formals(imf_data)$progress <- FALSE # 后续正常调用即可,无需额外参数 t <- imf_data(database_id = "BOP", indicator = "BCA_BP6_USD", country = "all", start = "1990", freq = "Q")
- 方案2:调整knitr全局设置并配合全局消息抑制
去掉results = 'hide'(它会屏蔽所有输出),保留其他必要的全局设置,同时在全局环境中统一抑制消息输出:
# 调整全局knitr设置,移除results='hide' knitr::opts_chunk$set(echo = FALSE, message = FALSE, warning = FALSE, error = FALSE, fig.keep = 'all') # 加载包并下载数据时统一抑制消息 suppressMessages({ library(imfr) t <- imf_data(database_id = "BOP", indicator = "BCA_BP6_USD", country = "all", start = "1990", freq = "Q") })
说明:imf_data函数本身自带progress参数,默认值为TRUE,方案1直接修改函数默认参数是最精准的解决方式,不会影响其他代码的输出;方案2通过全局消息抑制覆盖所有message类型的输出,适合需要批量抑制多种消息的场景。
内容的提问来源于stack exchange,提问作者A.L.
相关产品推荐
相关产品推荐

