运行函数而不执行其print()语句

时间:2014-08-25 00:26:56

标签: r

我编写了一个函数,在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)}

现在我不想从我的函数中删除print语句,但是当我在for循环中调用该函数时,我想将它们静音。如何在不执行print()语句的情况下运行我的函数?

2 个答案:

答案 0 :(得分:4)

修改您的函数,以便传入“debug”true / false参数来控制print语句。

答案 1 :(得分:0)

请勿使用printcat。请改用message。然后,您可以使用suppressMessages来抑制消息输出。