2016-04-30 64 views
1

有没有办法在RStudio中测试和查看Markdown的选定部分的输出?看来你要么运行R代码,要么必须编译整个RMD页面才能看到输出。在rstudio中执行选定Markdown块的方式(使用knitr)

+0

为什么不给不需要的块添加'eval = FALSE'并且只用想要的(“selected”)块来编译整个Rmd? – PoGibas

+0

问题是关于减号块,它存在于块之外。例如,'有'(my_data)\'个人。'你如何选择类似的东西,并将其编译为rmarkdown – Cenoc

回答

1

这是一个Windows的唯一解决方案,它使用剪贴板,而不是目前的选择:

定义以下功能:

preview <- function() { 
    output <- tempfile(fileext = ".html") 
    input <- tempfile(fileext = ".Rmd") 
    writeLines(text = readClipboard(), con = input) 
    rmarkdown::render(input = input, output_file = output) 
    rstudioapi::viewer(output) 
} 

然后,复制要预览和运行preview()降价。请注意,输出可能成为输出不同,因为

  • 代码在当前环境
  • 只复制降价评估被评估的最后文件中,这意味着该片段没有上下文任何责任。

,而不使用剪贴板将最有可能采用rstudioapi::getActiveDocumentContext()一个解决方案。它归结为沿这可以通过运行preview()其次是降价用来渲染修改preview功能

preview2 <- function() { 
    code <- rstudioapi::getActiveDocumentContext()$selection 
    # drop first line 
    # compile document (as in preview()) 
    # stop execution (THIS is the problem) 
} 

线的东西:

preview2() 
The value of pi is `r pi`. 

的问题是,我没有看到在调用preview2()以防止R试图解析The value of …后,如何停止执行。请参阅this related discussion