gpt4 book ai didi

r - 从 R 中的函数捕获打印输出(但仍返回其值)

转载 作者:行者123 更新时间:2023-12-04 10:57:35 24 4
gpt4 key购买 nike

我正在尝试从打印输出而不是打印到控制台的函数中输出。
capture.output some answers中推荐的功能,但我不清楚如何捕获输出但仍返回函数的输出。

例如,如果我有函数 f()并想要 "printed output!"不打印到控制台但有 "value"被退回:

f <- function() {
print("printed output!")
return("value")
}

# printed output is returned - want to capture the output

f()
#> [1] "printed output!"
#> [1] "value"

# also doesn't work, as captured output and function's output is returned

capture.output(f())
#> [1] "[1] \"printed output!\"" "[1] \"value\""

我认为解决方案可能涉及使用 sink (和 con() ),但使用它们的答案不使用函数(因此我很难应用该方法)。

最佳答案

像这样分配函数的输出:

capture <- capture.output(result <- f()); result
## [1] "value"

关于r - 从 R 中的函数捕获打印输出(但仍返回其值),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48118977/

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