提问人:pomodoro 提问时间:10/21/2019 更新时间:10/21/2019 访问量:522
R:当用户将函数的输出分配给变量时,如何抑制打印输出?
R: How to suppress print output when the user assigns output of your function to a variable?
问:
背景
该函数返回打印输出,如下所示: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)
我不确定这是如何实现的。在我自己的函数中,我有一个发生在 .玩具示例:message()
return()
toy <- function(i){
if(i > 0){
message("i is greater than 0")
}
return(i)
}
目前,我为用户提供了一个选项,可以将参数设置为 or,以便使用语句抑制打印输出。silent
TRUE
FALSE
if()
问题
当用户将函数输出分配给变量时,有没有办法自动抑制函数的消息/打印输出?
答: 暂无答案
评论
t.test
1+1
2
x = 1+1
a <- b <- 1
print
print.default
invisible
(x = 1+1)
2