从本质上讲,我已经用R构建了一个相当大的预测模型,大约有10~15个单独的脚本文件用于收集,排序,分析和呈现我的数据。我不想把所有东西都放进一个巨大的脚本文件中,我想保持一定程度的模块化,并从一个控制脚本或某种类似的控制机制中运行每一部分,就像我以前在matlab中所做的那样。这在R中可能吗?
我读过这个帖子以及它的相关帖子,但找不到这个确切的答案。Organizing R Source Code
从本质上讲,我已经用R构建了一个相当大的预测模型,大约有10~15个单独的脚本文件用于收集,排序,分析和呈现我的数据。我不想把所有东西都放进一个巨大的脚本文件中,我想保持一定程度的模块化,并从一个控制脚本或某种类似的控制机制中运行每一部分,就像我以前在matlab中所做的那样。这在R中可能吗?
我读过这个帖子以及它的相关帖子,但找不到这个确切的答案。Organizing R Source Code
5条答案
按热度按时间o2g1uqev1#
我认为你只是在寻找
source
函数。请参见?source
。我经常有一个主脚本,其中source
其他.R
文件。例如:wr98u20j2#
我是一个新的开发人员,我用一个对我有用的例子来回答,因为没有人给过一个例子。使用source(“myscript.R”)调用另一个R脚本“myscript_A.R”或“myscript_B.R”的示例如下-
wlp8pajw3#
我已经做了你所描述的,并将代码块分割成单独的R文件,并一直在运行源代码(这个)和源代码(那个),但我一直在痛苦地学习,源函数(而不是子例程/脚本文件)是更好的方式。
这里有3个可能的原因,为什么我们可能已经开发了他们的脚本,并坚持它,和3个原因,为什么切换到函数是有意义的:
1.我们希望在脚本出错时直接进行调试(能够在单个全局环境中跟踪所有变量及其状态)。
2a)我们不知道哪些变量需要保留以供以后使用(不想跟踪哪些变量要放入函数中,哪些变量要从函数输出)
2b)我们有大量的变量(参数/变量,设置,数据的不同部分),所以把所有东西都塞进和塞出函数是不切实际的。
相关Q&A:
欢迎其他人的评论!
jogvjijk4#
您可以从以下文件夹中获取所有
.R
脚本:在这里,您列出了一个文件夹中的所有文件,然后Map到
source()
函数。如果每个脚本都包含一些函数,并且您希望在
master_script
中使用这些函数,则此解决方案更有用。insrf1ej5#
虽然我理解您对模块化的需求,但为什么不简单地为感兴趣的运行创建一个脚本呢?提供多个脚本会导致无法在脚本之间传递变量的复杂性,除非您写入文件(这会浪费CPU周期)。您甚至可以构建一个主脚本,它将读取每个脚本的文本内容,然后创建主脚本并运行该脚本。