2015-12-02 83 views
3

我正在编写我的第一个R包,并使用roxygen2和添加的数据集进行了成功构建。如何将r脚本放入包中

但是,我还想提供一个示例脚本,介绍如何使用r软件包中的函数。但我不知道该把它放在哪里。

比方说,我创建了MyPackage。我已将我的功能脚本放在/R文件夹中。假设我有:

foo1.R 
foo2.R 
foo3.R 

某处我还想在工作流程中放一个脚本。比方说,我有一个文件,MyWorkflow.R

library(MyPackage) 
load(file='inData.R') # Loads indata variables A, B and C 
X=foo1(A) 
Y=foo2(X,B) 
Z=foo3(Y,C) 

我能做到这一点?如果是这样,我把它放在哪里?这是一个好的程序吗 - 或者一般都会皱眉?

任何帮助或想法表示赞赏。 谢谢。 卡尔

编辑:

我看着demo/exec/链接,但不明白exec/文件夹的事情。如果你可以澄清/举例说明/指出良好的用途... ...

如果我理解正确,我不寻找exampledemo/,因为脚本不一定会执行没有用户调整(例如提供输入数据或路径)。我“只是”想添加一个示例脚本,显示我如何使用这些功能。

我意识到我应该潜入vignettes的世界,但很难找到时间/精力/能量来做到这一点。

我还看到有inst/文件夹。你能否介绍一下这些选项的不同用途或者提示他们使用的地方的好例子(我经常会发现比阅读高于我的水平的解释性文字更多的信息 - 我经常会感觉像是一个狗看着吊扇;)

将信息添加到GitHub自述文件。 Thx的好建议!

+3

你的意思是一个交互式的例子,用'demo()'执行(见[这里](http://r-pkgs.had.co.nz/demo.html))?如果不是这样,您可能会更好地创建一个额外的小插件来浏览“MyWorkflow.R”的内容。软件包作者通常会将这些小插件作为教程等,以便与他们的软件包一起工作。 – nrussell

回答

1

根据脚本的格式,您可以将它放在demo/exec/之间。有关更多详细信息,请参阅here。我会提到工作流程以及它在自述文件中的位置,并且如果您将代码托管在Github上,则可以创建wiki来描述工作流程并将脚本放置在那里。这与nrussell在上面的评论中提到的类似。

+1

编辑原始问题的其他细节。尝试upvoting,但代表太低; – CarlBrunius

0

创建inst/Workflow_Example/workflow.R。在构建&重新加载时,在库中创建了Workflow_Example文件夹,其中workflow.R脚本。

结合自述文件中的解释性注释,这看起来就像我之后所做的一样。问题解决了还是我没有看到明显的东西?我例如违反公约/行为/良好做法?

+1

'检查()'你的帕卡奇。如果'check()'不抱怨它,那么你可能是没问题的。 – Gregor

+0

'R CMD检查成功' - 所以,这将表明我很好:) – CarlBrunius