Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我使用 .RData 文件来存储对象(例如列表、向量等),然后将它们调用到其他脚本中,但我想知道它们是否也应该用于存储函数(最有可能是用户定义的函数)?
我知道source()通常推荐用于此目的(并且创建packages更多),但我看到的一个优点是单个 .RData 文件可以包含多个对象 - 例如列表、数据框和函数。保存需要使用 调用对象load(),然后使用 . 单独调用函数source()。
source()
packages
load()
是否有理由对我没有看到的这种方法保持谨慎?
谢谢
在我以前的工作中,我们曾经将闭包序列化:
> f <- (function(x) function() x)(2) > f() [1] 2 > saveRDS(f, file='/tmp/f')
接着
> f <- readRDS('/tmp/f') > f() [1] 2
这可以让您将数据(例如系数)与函数捆绑在一起。不过要小心,您的库不会自动加载。