使用RStudio编译RMarkdown:为什么阅读.RProfile?

时间:2015-04-20 15:29:10

标签: r rstudio knitr

为什么RStudio在从.Rmd编译.HTML时会尝试读取我的.RProfile文件?

我的意思是,我按下"编织HTML"按钮,然后它实际上尝试执行我在.RProfile中的所有内容,加载那里提到的每个库,然后尝试获取外部文件失败(我有.RProfile中提到的一堆自编码函数, source('/Users/me/.rstudio-desktop/lib/lib.stocks.R')等行

现在,我在编译(编织)期间必须从主目录中移出.RProfile,但是可能应该有某种选项,或什么?

感谢任何建议:)。


OS X 10.8.5,RStudio版本0.98.1091

1 个答案:

答案 0 :(得分:4)

这就是.Rprofile的定义。当R启动时,它会读取并执行该文件。 RStudio启动一个新的R会话来编译R Markdown文档,R会话读取.Rprofile,除非你告诉R会话不要这样做(例如通过R --no-init-fileR --vanilla),但是目前你无法真正控制RStudio如何启动R会话。我认为@rawr提到的if (interactive())是一个非常好的主意,也是我经常使用的(我希望我的非交互式R会话“干净”)。