2016-09-06 6 views
1

사업 단위 "Ux"에 대한 보고서를 생성하는 RMarkdown 파일이 있습니다. 비즈니스의 모든 비즈니스 유닛 "U1, U2, U3, ..."에 대한 특정 보고서를 생성하기 위해 반복 루프를 만들고 싶습니다.RmarkDown 반복 루프

```{r , warning=FALSE, echo=FALSE, message=FALSE, autodep=TRUE,cache.vars='pole' } 
pole <- "21" 
``` 

극은 사업 단위의 식별 변수 다음 Rmarkdown 파일에

나는이 입력을 가지고있다.

그러면 극 변수가있는 일부 작업을 수행하는 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

당신은 매개 변수화 보고서와 함께이 작업을 수행 할 수 있습니다

를 : 다음과 같은 루프를 실행

코드 변경에
--- 
params: 
    pole: 21 # default value 
---

pole <- "21"

pole <- params$pole에 :

는하여 YAML-프리앰블에 다음을 추가

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

이렇게하면 목록 연산 값을 반복하고 모든 입력에 대한 보고서를 생성합니다. 회사에 이전 버전의 R 및 Rmarkdown이 있으므로 매개 변수화 된 보고서를 실행할 수 없습니다. Report.Rmd 스크립트를 사용하는

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

B 사용할 수 있습니다.