【问题标题】:Preserve markdown in chunked file for knitr在 knitr 的分块文件中保留降价
【发布时间】:2016-11-17 18:01:18
【问题描述】:

我有一个名为 runDataAnalysis.R 的 R 脚本,其中我调用了一个长分析文件 actualAnalysis.R

我想用knitr 生成报告(我没有使用 RStudio)。

所以我关注了一些good advice 并做了以下事情:

我的长分析文件顶部有## @knitr runMostAnalyses

我的runDataAnalysis.R 文件中也有这些行:

---
output: html_document: 
        toc: true
---

```{r echo=FALSE}
read_chunk('pathtofile/actualAnalysis.R')
```

```{r first}
<<runMostAnalyses>>
```

最后,我运行它并调用rmarkdown::render('runDataAnalysis.R') 获取报告。这在大多数情况下都有效,但它不会保留源文件中指示的降价(至少与通常用于 rmarkdown 的格式不同)。例如,我有 #' ##' ###' ### 的不同标题级别。但这只是在报告文件中逐字复制,而不是解释为标题(并包含在目录中)。我在chunk options 中找不到任何相关选项。

是语法不同还是我在评估块时做错了什么?

【问题讨论】:

    标签: r markdown knitr


    【解决方案1】:

    如果你将 Rmd 导入到 Rmd 文件中,你可以使用here 描述的解决方案之一:或者使用块参数child

    ```{r, child = 'pathtofile/actualAnalysis.R'}
    ```
    

    或使用函数 knit_child(将转换后的文档作为字符串返回)连同块参数 results 设置为 'asis'

    ```{r echo=FALSE, results='asis'}
       cat(knit_child(text = readLines('pathtofile/actualAnalysis.Rmd', quiet = TRUE)) 
    ```
    

    如果导入的文件是用spin处理的格式化R脚本,将knit_child替换为spin_child后应该也可以。

    如果父文档本身也是要使用 spin 处理的格式化 R 脚本(不是您的示例中的 Rmd),您可以使用双花括号导入子文档(格式化为 spin),如spin_child 文档:

    {{ spin_child('pathtofile/actualAnalysis.R') }}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-21
      • 1970-01-01
      • 1970-01-01
      • 2016-12-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多