gpt4 book ai didi

r - 在 R 中禁止自动输出到控制台

转载 作者:行者123 更新时间:2023-12-03 15:01:47 27 4
gpt4 key购买 nike

函数callmultmoments计算正态分布的矩。
功能自动打印"Sum of powers is odd. Moment is 0."如果幂的总和是奇数。在原始功能应该保持不变的情况下,有什么办法可以抑制它。

例如:

require(symmoments)
# Compute the moment for the 4-dimensional moment c(1,1,3,4):

m.1134 <- callmultmoments(c(1,1,3,4))

编辑:

如所述 here我们可以使用
## Windows
sink("nul")
...
sink()

## UNIX
sink("/dev/null") # now suppresses
.... # do stuff
sink() # to undo prior suppression, back to normal now

但是,我正在编写一个包,所以我希望它与平台无关。有什么想法可以代替吗?

最佳答案

问题是由于该函数有多个 print声明,其中 stop , warning , 或 message本来是合适的,以便人们可以使用 suppressWarningssuppressMessages .

您可以使用 invisible(capture.output()) 解决它围绕你的整个作业(不仅仅是右侧)。

f1 <- function(n, ...){
print("Random print statement")
cat("Random cat statement\n")
rnorm(n = n, ...)
}

f1(2)
#> [1] "Random print statement"
#> Random cat statement
#> [1] -0.1115004 -1.0830523
invisible(capture.output(x <- f1(2)))
x
#> [1] 0.0464493 -0.1453540

另见 suppress messages displayed by "print" instead of "message" or "warning" in R .

关于r - 在 R 中禁止自动输出到控制台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48499400/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com