2

在一个块中运行系统调用后,如何让 knitr 解除挂起?例如:

\documentclass{article}

\begin{document}
Test 

<<>>=
system('"C:\\Program Files\\SASHome\\SASFoundation\\9.3\\sas.exe" "test.sas"')
@

\end{document}

这段代码永远挂起。顺便说一句,上面的 R 代码运行良好。谢谢。

4

1 回答 1

3

默认情况下,代码块的工作目录是源文档的目录(在本例中为 Rnw doc),因此test.sas必须与 Rnw 文件位于同一目录下。

或者您可以使用opts_knit$set(root.dir = '/path/to/desired/dir/').

SAS 支持knitr已添加到开发版本中,您可以执行以下操作:

<<engine='sas', engine.path="C:\\Program Files\\SASHome\\SASFoundation\\9.3\\sas.exe">>=
/* write the content of your test.sas here */
@
于 2012-11-08T22:30:50.937 回答