Knitr Lyx问题

时间:2013-07-18 21:21:50

标签: r knitr rstudio lyx

我正在努力让knitr和LyX重新安装并开始我的新操作系统设置。我之前有过这样的工作。我安装了最新版本的R(3.0.1),Knitr是1.3.3版本,LyX 2.0.6包括MiKTex 2.9发行版,以及Windows 7企业版计算机上的RStudio 0.97.551。如果我打开Lyx并只是查看教程,我可以获得pdflatex输出,因此基本系统正在运行。

我尝试过运行Knitr的旧LyX文件,但现在它们失败了。最初似乎存在路径问题,因为Rnw文件从未创建过。现在,在完成pdf文件的创建后,转换为Rnw失败,如下面的错误。

15:34:23.619: Previewing ...
15:34:23.639: (buffer-view: Ctrl+R)
15:34:23.786: Rscript --verbose --no-save --no-restore "C:/Program Files (x86)/LyX      2.0/Resources/scripts/lyxknitr.R" "C:/Users/tbrooks/AppData/Local/Temp/lyx_tmpdir.Hp6600/lyx_tmpbuf2/""knitr-minimal.Rnw" "C:/Users/tbrooks/AppData/Local/Temp/lyx_tmpdir.Hp6600/lyx_tmpbuf2/""knitr-minimal.tex" ISO-8859-15 "C:/Users/tbrooks/Desktop/"
15:34:23.813: The system cannot find the path specified.

Running: Rscript --verbose --no-save --no-restore "C:/Program Files (x86)/LyX   2.0/Resources/scripts/lyxknitr.R"     "C:/Users/tbrooks/AppData/Local/Temp/lyx_tmpdir.Hp6600/lyx_tmpbuf2/""knitr-minimal.Rnw"   "C:/Users/tbrooks/AppData/Local/Temp/lyx_tmpdir.Hp6600/lyx_tmpbuf2/""knitr-minimal.tex"   ISO-8859-15 "C:/Users/tbrooks/Desktop/"
..\..\..\src\support\Systemcall.cpp (273): Systemcall: 'Rscript --verbose --no-save --no-  restore "C:/Program Files (x86)/LyX 2.0/Resources/scripts/lyxknitr.R"   "C:/Users/tbrooks/AppData/Local/Temp/lyx_tmpdir.Hp6600/lyx_tmpbuf2/""knitr-minimal.Rnw"   "C:/Users/tbrooks/AppData/Local/Temp/lyx_tmpdir.Hp6600/lyx_tmpbuf2/""knitr-minimal.tex"   ISO-8859-15 "C:/Users/tbrooks/Desktop/"' finished with exit code 1
Error: Cannot convert file
----------------------------------------
An error occurred while running:
Rscript --verbose --no-save --no-restore "C:/Program Files (x86)/LyX
2.0/Resources/scripts/lyxknitr.R"
"C:/Users/tbrooks/AppData/Local/Temp/lyx_tmpdir.Hp6600/lyx_tmpbuf2/""knitr-m...
15:34:26.700: Error while previewing format: pdf2

如果我使用下面从Yihui Xie链接的两个示例,他们都无法在LyX中编译为PDF。如果我将Rnw文件带入R studio并尝试将其编译为pdf,则适用于此处 (link)中找到的knitr-intro.Rnw,但是当我尝试opts_chunk时失败从LyX文件 (here)创建的knitr-minimal.Rnw

任何帮助都将受到全面的赞赏

更新: 以下的Yihui答案部分有用。

通过更改为knitr解决了Rstudio问题。

它也部分解决了LyX问题。我确实在LyX中有一条到R的路径,事实上我有这条路径:C:\ Program Files \ R \ R-3.0.1 \ bin其中有R和Rscript可执行文件,但鉴于它是我需要的64位安装再往下走到C:\ Program Files \ R \ R-3.0.1 \ bin \ x64。

我现在可以运行R块,但是我仍然无法编译一些示例。我可以编译knitr-minimal.lyx,但不能编译knitr-graphics.lyx。我猜这可能与font或tikzDevice有关。我会报告回来。感谢

UPDATE2:实际上tikzDevice不适用于R 3.0.1,因此解释了该演示的失败。通过R中的extrafonts在我的文件中添加字体后,我又回来了。谢谢!

1 个答案:

答案 0 :(得分:3)

在消息日志中,我猜R is not in your PATHalso see here)。

对于RStudio的问题,我认为这是因为您没有选择knitr作为weaving method(默认情况下它使用Sweave)。