如何从同一个包中的另一个R脚本调用R脚本?

Neu*_*987 11 r function package

我正在构建一个使用两个主要功能的包.其中一个功能model.R需要特殊类型的模拟sim.R以及在表格中设置结果的方法table.R

在可共享的包中,如何从内部调用sim.Rtable.R文件model.R?我已经尝试过了source("sim.R"),source("R/sim.R")但是这个调用在包中不起作用.有任何想法吗?

如果我只是复制和粘贴从代码sim.R,并table.R进入model.R剧本呢?

编辑:我有R目录中的所有脚本,DESCRIPTION和NAMESPACE文件都已设置.我只在R目录中有多个脚本.~R /有premodel.R model.R sim.Rtable.R.我需要model.R脚本使用两者sim.Rtable.R函数...位于包中的同一目录中(例如~R /).

Jac*_*b H 5

详细说明 joran 的观点,当你构建一个包时,你不需要源函数。

例如,假设我想制作一个名为 TEST 的包。我将首先生成一个名为 TEST 的目录(即文件夹)。在 TEST 中,我将创建另一个名为 R 的文件夹,在该文件夹中,我将包含包含包中不同功能的所有 R 脚本。

您至少还需要包含一个说明和名称空间文件。一个人(用于帮助文件)和测试(用于单元测试)也很不错。

制作一个包裹非常简单。这是一个简单介绍的博客:http : //hilaryparker.com/2014/04/29/writing-an-r-package-from-scratch/

  • 是的,正如@joran 所说,在 R 包中没有必要源函数。换句话说,包中的每个函数都可以访问包中的所有其他函数。如果 model.R 中的函数依赖于 sim.R 和 table.R 中的函数,则只需调用这些函数。尝试安装您的软件包。 (2认同)