r - Knit 卡在 system() 调用上

标签 r latex system knitr

在 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/

相关文章:

R 中的请求 URL 失败/超时

python - 如何拆分特定范围内的列?

r - 将距离矩阵作为矩阵从R复制到excel中

C++ 互斥锁不跨 Windows 帐户锁定

C 程序指针导致系统调用崩溃

regex - 在R中的符号后提取文本

r - 如何使用 R 以编程方式将多个表包含到 Sweave 文档中

scroll - 大型 Org 模式文件中的缓慢光标移动和 `org-do-latex-and-related` 函数

latex - 我可以在 LaTeX 而不是 TeX 中编写 cls 文件吗?

php - 在 PHP 中执行 exec() 或 system() 并且不等待输出