2016-09-06 4 views
1

私はビジネスユニット "Ux"のレポートを生成するRMarkdownファイルを持っています。ビジネスのすべてのビジネスユニット "U1、U2、U3、..."の特定のレポートを生成するために繰り返しループを作りたいと思います。 Rmarkdownファイル内RmarkDown反復ループ

私は、この入力を持っている:

ポールはビジネスユニット識別変数である
```{r , warning=FALSE, echo=FALSE, message=FALSE, autodep=TRUE,cache.vars='pole' } 
pole <- "21" 
``` 

私はポール変数でいくつかのことを行うRスクリプトコールを持っています。

```{r LOAD, warning=FALSE, echo=FALSE, message=FALSE, autodep=TRUE, cache=FALSE } 
require(knitr) 
source('POLE2.r', local=environment()) 
``` 
私はポール<ごとに単一のレポート(各ユニットのhtmlファイル)を生成することができますどのように

- 反復ループ付き[1,2,3,4,5 ...]?

おかげ

答えて

1

はYAMLプリアンブルに以下を追加します。

あなたのコードの変更で
--- 
params: 
    pole: 21 # default value 
---

pole <- "21"のようなループを実行し

pole <- params$pole
poles <- 1:5 # define your set 
for (pole in poles) 
    rmarkdown::render(input = "yourFile.Rmd", 
     output_file = paste0("yourOutput_", pole, ".html"), 
     params = list(pole = pole) 
) 

詳細はを参照してください。

0

これは私のリストのOP値をループとは、すべてのエントリのためのレポートを作成する方法です。私の会社は古いバージョンのRとRmarkdownを持っているため、パラメータ化されたレポートを実行することはできません。

for(i in seq_along(business)) 
{ 
    B <- business[i] 
    knit2html("Report.Rmd" 
      ,paste0(filepath,"/business ",B ,".html") 
) 
} 

B使用するReport.Rmdスクリプトのために利用可能です。あなたはパラメータ化レポートでこれを行うことができ