我想在浏览器中动态创建和编织.Rmd
个文件并显示分析输出。我正在使用knitr
和knit2html
来执行此操作。目前我正在使用以下方法:
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输出选项卡直接显示来自此类功能的结果(而不是在外部浏览器中)将会非常酷。也许有人知道如何将结果发送到帮助标签?
答案 0 :(得分: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问题,您将向其开发人员file a feature request。目前,我认为不可能在RStudio中预览任意HTML文档。