r - R 可以保存函数创建的对象以供将来使用吗?

标签 r memory-management fibonacci

目前我正在开发一个 R 项目,其中包含以下代码。

vec <- 1:25
fib <- function(x)
{ if (x==0) return (0)
 if (x==1) return (1)
 if (x==2) return(2)
 return(fib(x-1)+fib(x-2))
}
lapply(vec,fib)

我只是想知道,R 如何在这样的代码中计算斐波那契函数?更简单地说,当涉及到向量“vec”中的数字 25 时,R 是否会计算整个函数,或者 R 是否可以使用 fib(24) 和 fib(23) 的值来计算 fib(25),因为它们已经被计算过了?

最佳答案

默认情况下,它会一一计算所有递归值,但您可以使用像 memoise 这样的外部包来缓存以前的值,或者自己做。看看following blog这也使用斐波那契函数显示了这一点。

关于r - R 可以保存函数创建的对象以供将来使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39620361/

相关文章:

r - 在 R 中贬低多个级别的数据

c++ - Unsigned Long Long 不会超过第 93 个斐波那契数?

python - 如何让 0 作为我的斐波那契数列的第一项?

c - 嵌入式设备的内存分配/释放

android - Android 中的媒体播放器内存管理?

memory - Docker 的 --memory 开关无法按预期工作

java - Java 中的斐波那契算法

r - R 中的作用域和评估函数

R ggplot突出显示季度数字表已取代数字

r - 如何使用glue_sql()并避免粘贴动态SELECT语句?