2012-07-24 86 views
1

根据文档编写R扩展ss 1.3“R CMD检查和R CMD生成运行R与--vanilla,所以用户的启动文件都不读取”。使用 - 与R CMD版本

这似乎没有发生在我的安装上。我发现我的R版本(Mac上的2.15.1)在我的.Rprofile中加载了软件包 - 我确信这一点,因为我设法通过将library(hobblegobble)添加到我的.Rprofile来可靠地分解它。

做这件事吗?如果是这样,我应该总是喜欢用

R --vanilla CMD build 

感谢

+0

我把我的学习经历,包括这个SO回复,转化为[blog](http://ricardianambivalence.com/2012/07/28/creating-an-r-package-in-10-mins/)。非常感谢。 – ricardo 2012-07-28 13:40:23

回答

3

建立包可以使用,如果你正在试图建立(或安装)您.Rprofile负载包无论是R --vanilla CMD build myPackageR --vanilla CMD INSTALL --build myPackage

我知道的使用--vanilla唯一的缺点是,终端的完成(即具有当你点击标签包目录名完成了你)当你键入路径到软件包目录可能无法正常工作。

但是,更好的解决方案可能是将if (interactive()) {}包装在.Rprofile中的代码中,而您只希望在交互式会话中运行该代码。例如libraryrequire调用。

在你的情况下,如果你的.Rprofile有if (interactive()) library(hobblegobble)你不需要使用--vanilla

+0

谢谢 - 这是我的第一个包,所以我完全在黑暗中。我也遇到了'R CMD build'失败的问题,因为我的'.Rprofile'试图加载我正在尝试重新构建的包。这就是让我觉得'--vanilla'可能是做到这一点的适当方式。 – ricardo 2012-07-24 21:38:15

+0

有趣的是_Writing R Extensions_说你不应该使用'--vanilla';像你一样,这并不是我的经验。 – GSee 2012-07-24 21:41:18

+1

@ricardo,在你的.Rprofile中,使用'if(interactive())library(hobblegobble)'。这样'R CMD build'将不会加载它。感谢Dirk在[本次聊天]中的建议(http://chat.stackoverflow.com/transcript/message/5056884#5056884) – GSee 2012-08-23 16:51:56