2

背景

t.test()函数返回打印输出如下:

set.seed(2)
dat = rnorm(n = 50, mean = 0, sd = 1)
t.test(x = dat, mu = 0)

    One Sample t-test

data:  dat
t = 0.43276, df = 49, p-value = 0.6671
alternative hypothesis: true mean is not equal to 0
95 percent confidence interval:
 -0.2519143  0.3901901
sample estimates:
 mean of x 
0.06913791 

当用户将此函数的输出分配给变量时,将抑制打印输出:

a = t.test(x = dat, mu = 0)

我不确定这是如何实现的。在我自己的函数中,我有 amessage()发生在 a 之前return()。玩具示例:

toy <- function(i){

  if(i > 0){

    message("i is greater than 0")

  }

  return(i)

}

目前,我为用户提供了一个选项,可以将silent参数设置为TRUEFALSE以使用if()语句抑制打印输出。

问题

当用户将函数输出分配给变量时,有没有办法自动抑制函数的消息/打印输出?

4

0 回答 0