我编写了一个函数,该函数在一个300周期的for
循环之后输出单个元素数字。我让它在每个循环中打印大约10行,以了解它在哪里。现在我想在一个1000周期的for
循环中运行这个for
循环本身(并将得到的数字放入一个矩阵中)。但是它打印了很多东西,我不知道它在外部(1000周期) for
循环的执行中处于什么位置。内部for
循环的输出将淹没在每个外部循环周期执行的打印语句。下面是它的外观:
for(i in 1:1000){
function(...){...} #prints 10 lines 300 times before outputting a single element numeric
cat("Outer loop step "); print(i)}
现在我不想从我的函数中删除打印语句,但我想在调用for
循环中的函数时将它们静音。如何在不执行print()语句的情况下运行函数?
发布于 2014-08-25 00:30:24
修改您的函数,以便可以传入一个"debug“true/false参数来控制print语句。
发布于 2014-08-25 06:37:46
不要使用print
或cat
。请改用message
。然后,您可以使用suppressMessages
来禁止消息输出。
https://stackoverflow.com/questions/25477579
复制