我使用.RData文件来存储对象(例如列表,向量等)然后将它们调用到其他脚本中,但我想知道它们是否也应该用于存储函数(很可能是用户定义的函数)? / p>
我知道source()
通常建议用于此目的(并创建packages
更多),但我看到的一个优点是单个.RData文件可以包含多个对象 - 列表例如,数据帧和函数。保存需要使用load()
调用对象,然后使用source()
单独调用该函数。
有没有理由对这种方法保持谨慎,我没有看到?
谢谢
答案 0 :(得分:0)
在我以前的工作中,我们习惯于序列化闭包:
> f <- (function(x) function() x)(2)
> f()
[1] 2
> saveRDS(f, file='/tmp/f')
然后
> f <- readRDS('/tmp/f')
> f()
[1] 2
这可以让您将数据(例如系数)与函数捆绑在一起。但要小心,你的图书馆不会自动加载。