我有一个非常简单的knitr Rnw 脚本。当我在 RStudio 中运行它时,环境窗格显示全局环境为空,尽管脚本正确编译为 pdf,并且变量被正确评估。
\documentclass{article}
\begin{document}
<<settings, echo=FALSE>>=
library(knitr)
a<-1+10
@
The outcome is equal to \Sexpr{a}.
\end{document}
直到最近,这种方法一直运行良好。我想知道这是否与某些 RStudio 设置或knitr 选项有关。常规 R 脚本中的变量在环境窗格中显示良好。对于更复杂的针织项目,能够查看变量可以使工作变得更加容易。
通常,当您通过在 RStudio 中单击
knit
来编织文档时,它会在单独的 R 进程中运行,完成后变量将被删除。您的代码块将无法看到环境中的变量,并且这些变量不会被修改。
有多种方法可以在当前进程中运行:将每个块作为代码运行,或者在主进程中运行
rmarkdown::render("somefilename.Rmd")
。然后您的文档可以看到您当前的工作区并在那里进行修改。
对于调试来说,第二种方法很方便,但为了最终结果的可重复性,您应该运行单独的 R 进程。
最后,这对我有用。我没有在 RStudio 中单击“编译 pdf”按钮,而是在控制台中运行了以下命令:
knitr::knit2pdf("file.Rnw", envir = globalenv())
-关闭 Rstudio
-转到“C:\Users\you_name_user\AppData\Local”
-查找文件夹“Rstudio”并删除该文件夹
-Rstart Rstudio
-这可以工作,但会删除所有安装的包