有没有一种方法可以使用StatET Eclipse插件的外部工具功能来knitr并生成.rmd文件?

11

我越来越喜欢可重复的分析和Sweave、Beamer以及尤其是knitr包。RStudio可以一键Sweave和knit文档,但尽管RStudio易于安装,它仍然不太稳定,也没有Eclipse插件StatET的成熟度和灵活性。大多数教程和邮件列表在讨论knitr和RMarkdown时倾向于引用RStudio IDE,但关于如何使用knitr包安装和转换Markdown文件为.Rmd文件的内容很少。Jeffrey Horner在宣布R markdown包时说:

"Markdown文档生成HTML,与RStudio合作创建。它提供了他们最好的IDE中可用的完整R Markdown功能集,但用户可以将Markdown集成到自己选择的工具链中。"

这句话是我还没能弄明白的。其他地方建议手动使用library(knitr); knit('myfile.Rmd')进行knitr,但当我尝试这样做时,会收到错误信息:

Warning in file(con, "r") :
  cannot open file 'My file.Rmd': No such file or directory
Error in file(con, "r") : cannot open the connection

我能够使用以下方式将 My file.md 文件转换为 HTML:

library(markdown)
markdownToHTML(file = "C:/Dropbox/eclipse/8. CM/Myfile", output="C:/Dropbox/eclipse/8. CM/Myfile.html")

然而,R代码没有运行,我怀疑需要先编织.Rmd文件。如何能够在StatET或其他地方(而不是Rstudio)中编织markdown文件的任何帮助或指导将不胜感激。

我正在使用R版本2.15.1(2012-06-22),操作系统为Windows 7 Professional。 Eclipse版本:3.8.0和StatET 3.0。


1
针对你看到的第一个错误,似乎你不清楚“工作目录”的概念(在R中键入getwd());文件myfile.Rmd必须位于你当前的工作目录下;对于整个问题,我希望StatET开发人员能够关注它;这真的不应该太难(请参见https://github.com/yihui/knitr/issues/252)。 - Yihui Xie
嗨Yihui,感谢你的软件包。我知道getwd()函数,但不知道在使用knitr运行之前必须手动更改文件类型为.Rmd。另一个问题是我的工作目录不能有空格(即“working directory”)。 - rogervv
在路径中包含“\旧项目\工作目录”。我希望这能帮助其他用户。最后,我也希望StatET开发人员创建一个配置,以便将Markdown转换为HTML。 - rogervv
只是为了澄清,您可以在目录中包含空格。 - Yihui Xie
1个回答

2

有一种方法是使用R代码片段

1)创建一个名为 stateET 的 R 项目,在其中添加https://raw.github.com/yihui/knitr-examples/master/001-minimal.Rmd 文件。

2)在 Windows->Preferences -> StatET -> Run/Debug -> R Code Snippets

单击“Add...”,创建一个名为Rmd2html的新提示。代码片段的内容如下:

file <- "${selected_resource_loc}"
if (!nzchar) stop('Select a file first')
library(knitr)
library(markdown)
library(tools)
md_file <- knit(file)
html_file <- paste(file_path_sans_ext(md_file), '.html', sep = '')
markdownToHTML(md_file, html_file)

点击“确定”,“确定”。

3)回到您的项目,在Project Explorer视图中,右键单击minimal.Rmd文件,并选择“在R中运行代码片段 -> Rmd2html”

这将生成minimal.html文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接