R语言中的模块化编程
对于R来说,这是一个全新的概念,我想知道是否可以通过将部分打包到子脚本(如模块或全局自有函数)来缩小自己的放大R脚本。这在其他解释器语言中有点常见R语言中的模块化编程,r,function,module,package,R,Function,Module,Package,对于R来说,这是一个全新的概念,我想知道是否可以通过将部分打包到子脚本(如模块或全局自有函数)来缩小自己的放大R脚本。这在其他解释器语言中有点常见 在不同的R模块中分割数据读取、打印、设计、导出等的最佳方法是什么?是的,您可以制作包含函数的下标,例如,并使用源代码来对其进行源代码转换 我认为最好的方法取决于具体情况,但只需编写函数,将它们保存为.R文件,并将它们保存在脚本中有一个用于此目的的包,称为“” 该软件包提供了一个函数box::use(),它以智能方式替换源代码和库 source('x.
在不同的R模块中分割数据读取、打印、设计、导出等的最佳方法是什么?是的,您可以制作包含函数的下标,例如,并使用
源代码来对其进行源代码转换
我认为最好的方法取决于具体情况,但只需编写函数,将它们保存为.R文件,并将它们保存在脚本中有一个用于此目的的包,称为“”
该软件包提供了一个函数box::use()
,它以智能方式替换源代码和库
source('x.r')
可以简单地用
box::use(./x)
# or:
box::use(./x[...]) # to attach all names
但是,box::use()
比source
做得更好,例如,您可以在项目中按层次组织模块,可以统一处理包和模块代码,可以记录模块代码,等等
“box”包的创建正是因为我不满意R对模块化的支持。R有其用于此目的的包系统。我在importCheckInstall(pkg)中遇到错误:“package:x.R”未安装!即使源(“x.R”)起作用。或者,我尝试了modules::use(“x.R”),它确实会加载,但在实际调用x.R时,它无法识别tidyverse%>%。