Jupyter Notebook(R内核)如何隐藏代码单元执行提示信息?
解决Jupyter Notebook中R代码的"pausing 1 second..."提示问题
我之前也踩过这个坑!这个提示不是R的警告,是quantmod包的verbose信息输出,所以options(warn=-1)完全没用——它只能处理警告类的提示,管不了这种信息类的输出。给你几个精准解决的方法:
方法1:全局关闭quantmod的所有信息提示
如果之后不想再看到quantmod的这类提示,可以在代码开头加一行全局设置:
options(quantmod.verbose = FALSE)
这会直接关掉quantmod包所有的verbose输出,包括你遇到的这个暂停提示,一劳永逸。
方法2:只针对当前getSymbols调用关闭提示
要是你不想全局关闭,只想处理这次的getSymbols请求,直接在函数里给getSymbols加个参数就行:
etf_weekly_returns <- function(ticker) { # 这里新增verbose = FALSE参数 symbols <- getSymbols(ticker, auto.assign = TRUE, warnings = FALSE, verbose = FALSE) etf_prices <- do.call(merge, lapply(symbols, function(x) Cl(get(x)))) etf_returns <- do.call(merge, lapply(etf_prices, function(x) periodReturn(x, period = 'weekly', type = 'log'))) colnames(etf_returns) <- etf_ticker_sector$sector etf_returns } etf_returns <- etf_weekly_returns(etf_ticker_sector$ticker)
这样只针对这次的getSymbols调用抑制提示,不影响其他quantmod操作的信息输出,更灵活。
备选:用suppressMessages包裹调用(通用但不够精准)
如果你懒得改函数,也可以把整个函数调用放在suppressMessages()里,它会抑制所有消息类输出:
etf_returns <- suppressMessages(etf_weekly_returns(etf_ticker_sector$ticker))
不过这种方法会把所有消息都关掉,包括可能有用的信息,所以优先推荐前两种方法。
内容的提问来源于stack exchange,提问作者exteral
相关产品推荐
相关产品推荐

