修改r中自定义函数的return/print选项
Modify the return/print option of a custom function in r
我构建了一个自定义函数,它打印 class 的输出及其概率 (classifier),如下所示:
fun(formula, data)
> "Class" 0.5
我将此 fun
集成到另一个函数 new_fun
中,但我使用 fun
的修改结果作为 new_fun
的输出。因此,我不需要原始输出 class 的 fun
和概率。一旦集成到 new_fun
中,有没有办法避免 returning/printing 原始输出?
您可以使用 capture.output
:
f <- function() {print("test"); "result"}
g <- function() { capture.output(result<-f()); result}
f()
#> [1] "test"
#> [1] "result"
g()
#> [1] "result"
由 reprex package (v0.3.0)
于 2020-09-30 创建
在您提供的示例中,这将是:
new_fun <- function(...){
myformula <- ...
mydata <- ...
#Call to fun with captured output
capture.output( funresult <- fun(myformula, mydata))
#Process further funresult
...
}
我构建了一个自定义函数,它打印 class 的输出及其概率 (classifier),如下所示:
fun(formula, data)
> "Class" 0.5
我将此 fun
集成到另一个函数 new_fun
中,但我使用 fun
的修改结果作为 new_fun
的输出。因此,我不需要原始输出 class 的 fun
和概率。一旦集成到 new_fun
中,有没有办法避免 returning/printing 原始输出?
您可以使用 capture.output
:
f <- function() {print("test"); "result"}
g <- function() { capture.output(result<-f()); result}
f()
#> [1] "test"
#> [1] "result"
g()
#> [1] "result"
由 reprex package (v0.3.0)
于 2020-09-30 创建在您提供的示例中,这将是:
new_fun <- function(...){
myformula <- ...
mydata <- ...
#Call to fun with captured output
capture.output( funresult <- fun(myformula, mydata))
#Process further funresult
...
}