使用RStudio的“开始使用功能”进行回忆化

时间:2018-08-08 17:45:16

标签: r memoization memoise

我经常使用Rstudio的“转到函数定义”(快捷键为F2),以便在许多文件之间导航并快速访问函数的定义/进行更改(打印函数的定义通常是不够的)。

为了使我的分析更快,我的许多功能都通过“ memoise”软件包进行了记忆。一切都很好,但是当我使用“转到功能定义”按钮(或F2)时,它将带我进入备忘录功能。结果是:

function (Date = Sys.Date(), Symbol) 
{
  hash <- `_digest`(c(list(Date, Symbol), lapply(`_additional`, 
    function(x) eval(x[[2L]], environment(x)))), algo = "sha512")
  if (`_cache`$has_key(hash)) {
    res <- `_cache`$get(hash)
  }
  else {
    res <- withVisible(`_f`(Date = Date, Symbol = Symbol))
    `_cache`$set(hash, res)
  }
  if (res$visible) {
    res$value
  }
  else {
    invisible(res$value)
  }
}

一个注释-我尝试定义该函数,并在其下方给出其备注:     foo <-function(x){return(x)}     foo <-memoise :: memoise(foo)

但是当我在linux上运行它时,任何时候调用foo都会遇到无限循环。奇怪的是,它在Windows上运行良好(而F2函数通过这种方法在Windows上运行!)。我需要可以在linux系统上运行并具有F2功能的产品。

0 个答案:

没有答案