如何抑制R语言logbin包加载及使用过程中的消息?
解决logbin包延迟加载时的消息抑制问题
由于logbin是延迟加载包,library(logbin)并不会立即完成实际加载,真正的包加载过程会在你第一次调用logbin()函数时触发,这就是你之前的方法失效的原因。可以通过以下方式同时抑制包加载和函数调用时的消息:
- 方法一:提前触发包加载并抑制消息,再调用函数
# 静默触发包加载,捕获所有消息和输出 invisible(capture.output(library(logbin), type = c("output", "message"))) # 调用函数 data <- data.frame(y=0:1, x=0:1) m <- logbin(y~x, data=data)
- 方法二:在函数调用时一次性处理加载和执行的消息
data <- data.frame(y=0:1, x=0:1) # 将包加载和函数调用放在同一代码块中,用capture.output捕获所有输出和消息 m <- invisible(capture.output({ library(logbin) logbin(y~x, data=data) }, type = c("output", "message")))
关键说明
capture.output的type参数指定捕获的内容,c("output", "message")可以同时捕获普通输出和消息类输出;如果确定只有消息,用type="message"即可。invisible用来避免将捕获到的内容作为返回值输出,保证只得到模型对象m。
内容的提问来源于stack exchange,提问作者jessexknight
相关产品推荐
相关产品推荐

