我正在学习R。
我需要做一个复杂的计算,产生一个数字。为了便于阅读,我将其分成几部分。因为我不想污染全局命名空间,所以我使用虚函数:
global <- somevalue # I know globals are a horrid practice
foo <- function()
{
a <- some complex computation
b <- other complex or at least long formulas
a + b # result
}
res <- foo()
由于以下几个原因,这感觉不对:
foo()
一种解决方案是使用管道,但我不想,因为变量名称具有表现力和重要性。
在C ++中,我会使用一个立即调用的函数表达式:
const auto res = [&global] () { /*compute, compute*/; return a + b; } ();
如何干净地计算R中的结束值,同时隐藏中间结果?
答案 0 :(得分:0)
一种选择是尝试使用local
功能。这样您就不必在全局环境中创建函数或存储中间变量:
res <- local({a <- 1
b <- 2
return(a+b)})