Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R语言中的模块化编程_R_Function_Module_Package - Fatal编程技术网

R语言中的模块化编程

R语言中的模块化编程,r,function,module,package,R,Function,Module,Package,对于R来说,这是一个全新的概念,我想知道是否可以通过将部分打包到子脚本(如模块或全局自有函数)来缩小自己的放大R脚本。这在其他解释器语言中有点常见 在不同的R模块中分割数据读取、打印、设计、导出等的最佳方法是什么?是的,您可以制作包含函数的下标,例如,并使用源代码来对其进行源代码转换 我认为最好的方法取决于具体情况,但只需编写函数,将它们保存为.R文件,并将它们保存在脚本中有一个用于此目的的包,称为“” 该软件包提供了一个函数box::use(),它以智能方式替换源代码和库 source('x.

对于R来说,这是一个全新的概念,我想知道是否可以通过将部分打包到子脚本(如模块或全局自有函数)来缩小自己的放大R脚本。这在其他解释器语言中有点常见


在不同的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%>%。