2016-11-17 7 views
0

runDataAnalysis.RというRスクリプトがあり、長い解析ファイルactualAnalysis.Rが呼び出されています。knitrのチャンクファイルでマークダウンを保持

knitr(私はRStudioを使用していません)でレポートを生成したいと考えています。

だから私はいくつかのgood adviceに続き、次のことをやった:

私は長い分析ファイルの先頭に## @knitr runMostAnalysesを持っています。

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

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

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

最後に、私はそれを実行してrmarkdown::render('runDataAnalysis.R')を呼び出してレポートを取得:

は、私も自分のrunDataAnalysis.Rファイルに次の行を持っています。これはほとんどの場合有効ですが、ソースファイルに示されているマークダウンは保持されません(少なくともrmarkdownの場合と同じ形式ではない)。たとえば、私は#' #,#' ###' ###という異なるタイトルレベルを持っています。しかし、これはレポートファイルにそのままコピーされ、タイトルとして解釈されません(そして目次にも含まれます)。 chunk optionsに関連するオプションが見つかりませんでした。

構文が異なるか、チャンクを評価する際に何か問題がありますか?

答えて

1

あなたはRMDファイルにRMDをインポートする場合、あなたはソリューションのいずれかを使用することができますがhereを説明:チャンクパラメータを使用してchild

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

または(文字列として変換された文書を返す)関数knit_childを使用してのいずれか一緒に'asis'へのチャンクのパラメータresultsセットを持つ:

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

インポートされたファイルは、spinで処理するRスクリプトをフォーマットされている場合は、 knit_childをspin_childに置き換えても同じことが成立するはずです。

親ドキュメント自体もスピン(あなたの例のようにRmdではなく)で処理されるような書式付きRスクリプトであった場合、次のように二重中括弧を使用して子ドキュメントを読み込むことができますspin_childのドキュメント:

{{ spin_child('pathtofile/actualAnalysis.R') }} 
関連する問題