【发布时间】:2021-03-04 00:44:53
【问题描述】:
对 R 来说非常陌生,我想知道是否可以通过将部分打包成子脚本(如模块或全局自己的函数)来缩小自己的炸毁 R 脚本。这在其他解释器语言中有些常见。
在不同的 R 模块中拆分数据读取、绘图、设计、导出等的最佳方法是什么?
【问题讨论】:
-
R 有它的包系统用于这个目的。
对 R 来说非常陌生,我想知道是否可以通过将部分打包成子脚本(如模块或全局自己的函数)来缩小自己的炸毁 R 脚本。这在其他解释器语言中有些常见。
在不同的 R 模块中拆分数据读取、绘图、设计、导出等的最佳方法是什么?
【问题讨论】:
有一个专门用于此目的的包,名为“box”。
该包提供了一个函数box::use(),它以智能的方式替换了source和library。
source('x.r')
可以简单地替换为
box::use(./x)
# or:
box::use(./x[...]) # to attach all names
但是,box::use() 比 source 做得更好——例如,您可以在项目中分层组织模块,可以统一处理包和模块代码,可以记录模块代码等等。
“box”包的创建正是因为我对 R 对模块化的支持不满意。
【讨论】:
是的,您可以制作包含函数的下标,并使用source 获取它们。
我认为最好的方法取决于具体情况,但只需编写你的函数,将它们保存为 .R 文件并在你的脚本中source它们
【讨论】: