rmardown에서 루프로 코드 조각 만들기
Nov 16 2020
R에서 knitr로 코드 청크와 텍스트를 모두 포함하는 루프를 만드는 방법과 유사하게 루프에 의해 생성 된 텍스트와 코드 조각을 얻으려고합니다.
이것에 따라 :
---
title: Sample
output: html_document
params:
test_data: list("x <- 2", "x <- 4")
---
for(nr in 1:3){
cat(paste0("## Heading ", nr))
```{r, results='asis', eval = FALSE, echo = TRUE}
params$test_data[[nr]]
```
}
예상 출력은 다음과 같습니다.

내가 시도한 것 :
나는 따르려고 노력했다 : https://stackoverflow.com/a/36381976/8538074. 그러나 "`"인쇄는 저에게 효과가 없었습니다.
답변
3 MartinSchmelzer Nov 16 2020 at 16:16
knitr 후크를 사용할 수 있습니다. 다음 MRE를 사용하십시오.
---
title: "Untitled"
output: html_document
params:
test_data: c("x <- 2", "x <- 4")
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE) ``` ```{r, results = 'asis', echo = F} hook <- knitr::hooks_html()$source
opts <- knitr::opts_chunk$get() chunks <- eval(parse(text = params$test_data))
for(nr in seq_along(chunks)){
cat(paste0("## Heading ", nr, "\n"))
cat(hook(chunks[nr], options = opts))
}
```
기본 소스 후크와 기본 청크 옵션도 얻습니다. 그런 다음 문자열로 제공되는 테스트 데이터를 얻습니다. 따라서 우리는 해당 문자열을 구문 분석하고 평가합니다. 루프에서 우리는 단순히 테스트 데이터의 각 요소에 대한 소스 후크를 호출합니다. 결과는 다음과 같습니다.
