2017-03-22 13 views
1

私は、同じ文書内のテキストとコードを結合し、html出力を生成するRマークダウン言語を使用するR Notebookを使用して比較的長いレポートを作成しています。最後のhtml出力からRマークダウン(html_notebook)の一部を除きます

最後のHTMLに分析の一部(テキストとRコードの両方)が表示されないようにしたいと考えています。これは、レポートの2つのバージョンを作成したい場合に非常に便利です。フル/詳細バージョン、メイングラフと結論付きの短いバージョンです。

明らかに、レポートの種類ごとに個別のRmdファイルを作成できます(または、短いバージョンでは除外する必要のあるレポートのコメントをコメントアウトすることもできます)。しかし、より洗練された方法があれば。

このような何か:

 if (Version == "full_text"){ 

       Full analysis goes here 

       ```{r} 
       R code goes here (could be multiple chunks) 
       ``` 
    } 
    else { 
       The shorter version goes here 
       ```{r} 
       R code goes here 
       ``` 
    } 
+0

プレイス[knitr子ドキュメント]で長尺部(https://github.com/yihui/knitr/blob/master/inst/examples/child/knitr-main.Rmd)あなたは条件に基づいて呼び出します。これはこの質問で説明されています:[条件付きで、子どものドキュメントのリストをknarkでRMarkdownに含める](http://stackoverflow.com/questions/39377465/conditionally-include-a-list-of-child-documents-in-rmarkdown -with-knitr) –

+0

も参照してください[この回答](http://stackoverflow.com/a/32958018/2641825) –

答えて

1

場所あなたがメイン文書から、必要に応じて呼び出すknitr child documentのレポートの「詳細」の部分。 詳細コンテンツは、子ドキュメントを呼び出すことによってオンにすることができ、変数child_docsNULLに設定することでオフにできます。たとえば、以下のメインと子の文書があります。詳細/フルバージョン

--- 
title: "Report" 
output: html_document 
--- 

# Summary 

```{r setup} 
child_docs <- c('knitr-child.Rmd') 
# child_docs <- NULL 
``` 

```{r test-main, child = child_docs} 
``` 

# Conclusion 

full version

メイン文書短いバージョン

-

子文書

保存本書

--- 
title: "knitr child" 
output: html_document 
--- 

# Details from the child document 
Hi, there. I'm a child with a plot and as many details as necessary. 

```{r test-child} 
plot(cars) 
``` 

メイン文書knitr-child.Rmd
--- 
title: "Report" 
output: html_document 
--- 

# Summary 

```{r setup} 
# child_docs <- c('knitr-child.Rmd') 
child_docs <- NULL 
``` 

```{r test-main, child = child_docs} 
``` 

# Conclusion 

shorter version

関連する問題