在 block 中运行系统调用后,如何让 knitr 取消挂起?例如:
\documentclass{article}
\begin{document}
Test
<<>>=
system('"C:\\Program Files\\SASHome\\SASFoundation\\9.3\\sas.exe" "test.sas"')
@
\end{document}
这段代码永远挂起。顺便说一句,上面的 R 代码运行良好。谢谢。
最佳答案
默认情况下,代码块的工作目录是源文档的目录(本例中为 Rnw doc),因此 test.sas
必须与 Rnw 文件位于同一目录下。
或者您可以使用 opts_knit$set(root.dir = '/path/to/desired/dir/') 指定代码块的工作目录
。
knitr
中的 SAS 支持已添加到 development version ,这就是您可以执行的操作:
<<engine='sas', engine.path="C:\\Program Files\\SASHome\\SASFoundation\\9.3\\sas.exe">>=
/* write the content of your test.sas here */
@
关于r - Knit 卡在 system() 调用上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13295130/