如何让 knitr 在 RStudio 中使用相同的 R 会话?
how to make knitr use the same R session in RStudio?
如何让 knitr 在 RStudio 中使用相同的 R 会话?
仅供参考,我正在处理大量数据(R 会话使用 7 GB RAM)并且我不想避免使用 load('data.RData')
更新
Knitr 使用新的 R 会话,而 运行 .Rmd
。因此,找不到我所有的 R 对象。这就是为什么我必须使用函数 load('mydata.RData')
谢谢
如果您使用 .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()
调用这些函数。
如何让 knitr 在 RStudio 中使用相同的 R 会话?
仅供参考,我正在处理大量数据(R 会话使用 7 GB RAM)并且我不想避免使用 load('data.RData')
更新
Knitr 使用新的 R 会话,而 运行 .Rmd
。因此,找不到我所有的 R 对象。这就是为什么我必须使用函数 load('mydata.RData')
谢谢
如果您使用 .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()
调用这些函数。