1
我使用.RData文件来存储对象(例如列表,向量等),然后将它们调用到其他脚本中,但是我想知道它们是否也应该用于存储函数(很可能是用户定义的函数)?应该使用.RData文件来存储功能?
我知道source()
通常被推荐用于此目的(并且创建packages
更是如此),但我认为它的一个优点是单个.RData文件可以包含多个对象 - 列表,数据框和函数,例如。使用load()
保存需要调用对象的功能,然后单独使用功能source()
。
是否有理由谨慎使用这种方法,我没有看到?
谢谢
我不知道你会被拒绝任何函数的基本功能(例如调试和查看函数源代码的能力),但我也不知道它会给你买什么。将它们存储在软件包中非常容易,可以将简单的源代码内注释转换为手册页(通过'roxygen2')以及其他许多优点。 – r2evans
我没有看到任何真正的伤害,但也没有优势。当然,您应该将源代码保存在函数和对象的某处。为对象使用RData文件的优点是某些对象可能花费大量时间来计算/定义,但函数没有这个问题,因此没有真正的优势。如果你觉得这种诱惑,因为2个命令,'load'和'source'太多了,我会鼓励你保留一个小的加载脚本来完成所有的加载和采购。然后,找出单个脚本执行所有操作。 – Gregor
通过这种方式,您还可以将对象等进一步细分为更小,更好组织的部分,所有这些部分都按正确的顺序由加载脚本加载。 – Gregor