4

我想动态创建和编织.Rmd文件并在浏览器中显示分析的输出。我正在使用knitrknit2html执行此操作。目前我正在使用以下方法:

myHTMLsummary <- function(data,x) {

  con <- paste0(getwd(),"/myHTMLSummary.Rmd")
  writeLines ("

Data frame summary
========================================================

Summary:
```{r,echo=FALSE}
summary(data[x])
```",con)

  knit2html(con,quiet=TRUE)

  if (interactive()) browseURL(paste0(getwd(),"/myHTMLSummary.html"))  
}

myHTMLsummary(iris,"Sepal.Length")

有没有更好的方法来动态创建和编织.Rmd文件,或者这是任何人都在使用的方法?

注意:在 Rstudio 中使用 HTML 输出选项卡直接显示此类功能的结果(而不是在外部浏览器中)会非常酷。也许有人知道如何将结果发送到帮助选项卡?

4

1 回答 1

1

也许这不是一个很好的例子——我认为writeLines()这里没有用。我的意思是内容实际上是一个固定的字符串,那为什么不myHTMLSummary.Rmd提前保存呢?那么你只需要

myHTMLsummary <- function(data, x) {
  knit2html("myHTMLSummary.Rmd", quiet=TRUE)
  if (interactive()) browseURL(file.path(getwd(), "myHTMLSummary.html"))  
}

myHTMLsummary(iris, "Sepal.Length")

我认为您真正的意思是动态构建代码块,即源文档的内容不固定。在这种情况下,请参阅knitr-examples存储库中的示例 075 和 021。请注意,它们不是唯一的方法。您可以使用任何字符串操作策略来创建源文档。

关于 RStudio 问题,您将向其开发人员提交功能请求。目前,我认为在 RStudio 中预览任意 HTML 文档是不可能的。

于 2013-07-26T22:26:48.707 回答