我正在使用一个打包函数(corenv,来自seewave),该函数在控制台中创建“请稍候...”消息。正如我所说的那样,该消息非常令人讨厌。因此,我需要一种方法:
从我的代码中,暂时禁止控制台消息
要么
要访问功能代码并删除消息行
以下不是我的真实代码,而是显示问题的非常简单的代码
require(seewave)
a = seq(0, (2*pi), by=0.01) #simple, unreal example
for (i in sequence(100)){
x = sin(a*i/3) #simple, unreal example
y = sin(a*i/2) #simple, unreal example
corenv(x,y,10,plot=FALSE)
}
一个非常简单的问题,但是我还没有找到任何解决方案。我会很感激的
最佳答案
您可以使用sink
捕获输出,例如
sink("tmp.txt")
z = corenv(x,y,10,plot=FALSE)
sink()
您也可以将其包装在一个函数中,例如
## unlink deletes the temporary file
## on.exit ensures the sink is closed even if
## corenv raises an error.
corenv(..., verbose=FALSE) {
if(verbose) {
sink("tmp.txt")
on.exit(sink(); unlink("tmp.txt"))
}
seewave::corenv(...)
}
关于r - 避免控制台消息表单包功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39154353/