如何让knitr在RStudio中使用相同的R会话?
仅供参考,我正在处理大量数据(R会话使用7 GB的RAM),我不想避免使用load('data.RData')
Knitr在运行.Rmd
时使用新的R会话。因此,找不到所有的R对象。这就是我必须使用函数load('mydata.RData')
由于
答案 0 :(得分:2)
如果您直接在控制台中使用.Rnw
个文件类型(假设工作目录是您的文件所在的位置):
knitr::knit("filename.Rnw")
# or
knitr::knit2pdf("filename.Rnw")
后者还会将filename.tex
转换为filename.pdf
对于经典.Rmd
文件,您可以使用相同的
knitr::knit("filename.Rmd")
# or
knitr::knit2html("filname.Rmd")
对于使用rmarkdown
包使用
rmarkdown::render("filename.Rmd")
这是有效的,因为默认情况下knit
和render
函数将envir
参数设置为envir=parent.frame()
,这通常是R-Session的全局环境。
另一方面,通过单击R-Studio中的编织按钮调用knit
或render
会使用参数envir=new.env()
调用这些函数。