【发布时间】:2015-04-20 15:29:10
【问题描述】:
为什么 RStudio 在从 .Rmd 编译 .HTML 时会尝试读取我的 .RProfile 文件?
我的意思是,我按下“Knit HTML”按钮,然后它实际上尝试执行我在.RProfile 中的所有内容,加载那里提到的每个库,然后尝试获取外部文件失败(我有一堆 self -.RProfile 中提到的编码函数,source('/Users/me/.rstudio-desktop/lib/lib.stocks.R') 等行。
现在,我确实必须在编译(编织)期间将.RProfile 从主目录中移出,但可能应该有某种选项,或者其他什么?
如果有任何建议将不胜感激:)。
OS X 10.8.5,RStudio 版本 0.98.1091
【问题讨论】:
-
我真的没有一个好的答案,但解决方法可能是
if (interactive()) {## do things for normal r session} else {do other things for non-interactive session, ie, knitr compiling}哦,把它放在你的 .rprofile 中,忘了那部分 -
谢谢@rawr,这行得通:)。不过还是很有意思,为什么一开始就这么做……
-
不确定 knitr 文档是新的 r 会话还是只是创建了一个新环境,但无论哪种方式 r 都正常启动,这意味着它会读取您的 .rprofile 并执行其中的任何操作第一的。我以为您可以在
engine.opts块选项中传递--vanilla,但看起来并非如此