코드 셀: Knitr

Knitr는 동적 문서 생성을 위한 R 패키지입니다. Knitr 사용 방법은 R 사용 문서를 참고하세요.

개요

셀 옵션은 실행 가능한 코드 블록의 실행과 출력에 영향을 줍니다. 블록 상단의 주석에 지정합니다. 예:

```{r}
#| label: fig-polar
#| echo: false
#| fig-cap: "A line plot on a polar axis"
```

속성

label

코드 셀을 고유하게 식별하는 레이블입니다. 다른 코드에서 이 셀을 참조할 때 사용됩니다. (예: fig-samples, tbl-summary 같은 상호 참조)

classes

셀 컨테이너에 적용할 클래스입니다.

renderings

렌더링 이름 배열입니다. 예: [light, dark]

코드 출력

eval

코드 셀을 실행합니다(false이면 코드만 출력).

  • true(기본값): 코드 셀을 실행합니다.
  • false: 코드 셀을 실행하지 않습니다.
  • [...]: 포함하거나 제외할 표현식 번호(양수/음수 목록)입니다. (knitr 엔진에서만 작동합니다)
echo

셀 소스 코드를 렌더링 결과에 포함합니다.

  • true(대부분 형식 기본값): 소스를 포함합니다.
  • false(beamer, revealjs, pptx 기본값): 소스를 포함하지 않습니다.
  • fenced: 셀 구분자까지 출력합니다.
  • [...]: 포함하거나 제외할 행 번호 목록입니다. (knitr 엔진에서만 작동합니다)
code-fold

코드를 HTML <details> 태그로 접어 필요할 때만 펼쳐 보여줍니다.

  • true: 코드를 접습니다.
  • false(기본값): 접지 않습니다.
  • show: <details> 태그를 사용하되 처음에는 펼쳐 둡니다.
code-summary

code-fold로 접은 블록에 사용할 요약 텍스트입니다.

code-overflow

코드 줄이 컨테이너보다 넓을 때 처리 방식입니다.

  • scroll
  • wrap
code-line-numbers

코드 블록 출력에 행 번호를 포함합니다(true 또는 false).

revealjs 형식에서는 특정 줄을 강조하거나 강조 집합을 애니메이션으로 표시하는 문자열도 지정할 수 있습니다.

  • 줄 집합은 쉼표로 구분합니다:
    • 3,4,5
    • 1,10,12
  • 범위는 대시와 쉼표를 조합합니다:
    • 1-3,5
    • 5-10,12,14
  • 애니메이션 단계는 |로 구분합니다:
    • 1-3|1-3,5: 처음엔 1-3, 이후 1-3,5
    • |5|5-10,12: 처음엔 번호 없음, 그다음 5, 그다음 5-10과 12
lst-label

상호 참조용 코드 목록 고유 레이블입니다.

lst-cap

코드 목록에 사용할 캡션입니다.

tidy

R 코드를 재정렬(tidy)할지 여부입니다.

tidy-opts

tidy 핸들러에 전달할 옵션 리스트입니다.

collapse

하나의 코드 청크에서 소스와 출력 블록을 합쳐 하나로 만듭니다.

prompt

R 코드 앞에 프롬프트를 표시할지(prompt, continue를 참조). 프롬프트가 있으면 코드 복사에 불편할 수 있어 prompt: false를 고려하세요. engine이 R이 아니면 동작하지 않을 수 있습니다.

class-source

소스 코드 블록에 적용할 클래스 이름입니다.

attr-source

소스 코드 블록에 적용할 속성입니다.

셀 출력

output

코드 실행 결과를 출력에 포함합니다. 가능한 값은 다음과 같습니다:

  • true: 결과 포함
  • false: 결과 제외
  • asis: 결과를 별도 컨테이너 없이 마크다운으로 그대로 처리
warning

렌더링 결과에 경고를 포함합니다.

error

출력에 오류를 포함합니다(이 설정 시 코드 오류로 문서 처리가 중단되지 않습니다).

include

출력(코드나 결과)이 포함되지 않도록 전반적으로 차단하는 설정입니다.

panel

셀 출력에 사용할 패널 유형입니다(tabset, input, sidebar, fill, center).

output-location

출력이 해당 코드를 기준으로 어디에 표시되는지를 뜻합니다. 가능한 값은 다음과 같습니다:

  • default: 코드 이후 일반 흐름
  • fragment: 프레젠테이션 조각(fragment) 안 (다음 진행 전까지 보이지 않음)
  • slide: 현재 슬라이드 뒤에 새 슬라이드에 나타남
  • column: 인접한 열에 나타남
  • column-fragment: 인접한 열에 나타나지만 다음 진행 전까지 보이지 않음

이 옵션은 revealjs 형식에서만 지원됩니다.

message

렌더링 결과에 메시지를 포함할지 설정합니다. 가능한 값은 true, false, NA입니다. - true: 메시지를 출력에 포함합니다. - false: 메시지를 출력에 포함하지 않습니다. - NA: 출력에는 포함하지 않지만 knitr 로그에는 표시됩니다.

results

텍스트 결과를 어떻게 표시할지 정합니다. 이 옵션은 일반 텍스트 출력(경고, 메시지, 오류 제외)에만 적용됩니다. 가능한 값은 다음과 같습니다:

  • markup: 출력 형식에 맞는 적절한 환경으로 텍스트 출력을 감쌉니다. 예를 들어 텍스트 출력이 문자 "[1] 1 2 3"이면 knitr이 실제로 생성하는 출력은 다음과 같습니다:

    ```
    [1] 1 2 3
    ```

    이 경우 results: markup은 텍스트 출력을 펜스 코드 블록( ) 안에 넣는다는 뜻입니다.

  • asis: 텍스트 출력을 있는 그대로 기록합니다. 즉, 마크업 없이 원시 텍스트를 문서에 직접 씁니다.

    ```{r}
    #| results: asis
    cat("I'm raw **Markdown** content.\n")
    ```
  • hold: 텍스트 출력의 모든 조각을 청크 안에 모았다가 청크 끝에서 한꺼번에 비웁니다.

  • hide (또는 false): 텍스트 출력을 숨깁니다.

comment

텍스트 출력 각 줄 앞에 추가할 접두사입니다. 기본적으로 텍스트 출력은 ##로 주석 처리되어 있기 때문에, 출력 문서에서 코드를 복사해 실행하고자 할 때도 청크 전체를 복사하면 텍스트 출력이 주석 처리되어 무시됩니다. 기본 ##를 제거하려면 comment: ''로 설정하세요.

class-output

텍스트/콘솔 출력에 적용할 클래스 이름

attr-output

텍스트/콘솔 출력에 적용할 속성

class-warning

경고 출력에 적용할 클래스 이름

attr-warning

경고 출력에 적용할 속성

class-message

메시지 출력에 적용할 클래스 이름

attr-message

메시지 출력에 적용할 속성

class-error

오류 출력에 적용할 클래스 이름

attr-error

오류 출력에 적용할 속성

그림

fig-width

그림의 기본 너비입니다.

fig-height

그림의 기본 높이입니다.

fig-cap

그림 캡션입니다.

fig-subcap

그림 서브캡션입니다.

fig-link

그림 클릭 시 연결할 하이퍼링크입니다.

fig-align

그림의 수평 정렬입니다(default, left, right, center).

fig-alt

HTML 이미지 alt 속성에 들어갈 대체 텍스트입니다.

fig-env

LaTeX 그림 환경입니다.

fig-pos

LaTeX \begin{figure}[]에 사용할 위치 옵션입니다. 코드와 함께 생성되는 그림은 기본값 fig-pos="H"를 사용해 과도한 분리를 막습니다. fig-posfalse로 하면 위치 지정자를 생략하며 sidewaysfigure 같은 환경에서 유용합니다.

fig-scap

LaTeX 출력 전용 짧은 캡션(\caption[])으로 PDF 그림 목록에 보통 표시됩니다.

fig-format

그림 기본 출력 형식(retina, png, jpeg, svg, pdf).

fig-dpi

그림의 기본 DPI입니다.

fig-asp

높이/너비 비율로, 지정하면 fig-heightfig-width * fig-asp로 계산됩니다.

out-width

출력 문서에서의 그림 너비입니다(물리적 fig-width와 다를 수 있음). 단위 미지정 시 픽셀(pixels)이며, px/cm/mm/in/%, 예: 3in, 8cm, 300px, 50% 등도 사용 가능합니다.

out-height

출력 문서에서의 그림 높이입니다(fig-height와 다를 수 있음). 출력 형식에 따라 3in, 8cm, 300px 등 특수값을 지원합니다.

fig-keep

청크 내 그림을 어떻게 보관할지 지정합니다. 가능한 값:

  • high: 고수준 그림만 보관(저수준 변경 통합).
  • none: 그림 모두 폐기.
  • all: 그림 모두 보관.
  • first: 첫 번째 그림만.
  • last: 마지막 그림만.
  • 숫자 벡터: 보관할 그림 인덱스입니다.
fig-show

그림 표시/배치 방식입니다. 가능한 값:

  • asis: 생성 위치 그대로 표시(터미널 실행처럼).
  • hold: 청크 끝에서 한꺼번에 출력.
  • animate: 여러 그림을 애니메이션으로 연결.
  • hide: 그림 파일은 만들지만 출력에서는 숨김.
out-extra

그림에 추가할 원시 LaTeX/HTML 옵션입니다.

external

tikz 그래픽을 외부화(pre-compile to PDF)합니다.

sanitize

tikz 그래픽 특수 LaTeX 문자를 이스케이프합니다.

interval

애니메이션 프레임 사이 간격(초)입니다.

aniopts

애니메이션 추가 옵션입니다. LaTeX animate 패키지 문서 참조.

animation-hook

HTML 출력용 애니메이션 훅 함수입니다. 기본 훅(ffmpeg)은 FFmpeg로 이미지를 WebM으로 변환하고, gifski 훅은 GIF를 만듭니다.

테이블

tbl-cap

표 캡션입니다.

tbl-subcap

표 서브캡션입니다.

tbl-colwidths

Markdown grid 또는 pipe 테이블이 columns 글자(기본 72)보다 넓을 때 명시적인 열 너비를 적용합니다. 일부 형식(예: HTML)은 자동 열 너비 조정이 우수하지만, LaTeX 등은 긴 셀 내용을 흐르게 하기 위해 열 너비가 필요합니다.

값: - auto: 하이퍼링크가 없는 경우 마크다운 열 너비 적용 (auto는 HTML 기본값) - true: 항상 마크다운 열 너비 적용 (비HTML 기본값) - false: 열 너비 적용 안 함 - 숫자 배열(예: [40, 30, 30]): 명시적 너비 비율

html-table-processing

If none, do not process raw HTML table in cell output and leave it as-is

패널 레이아웃

layout

열(column)을 첫 번째 차원, 행(row)을 두 번째 차원으로 한 2차원 배열로 너비를 지정합니다. 예: [[3,3],[1]]로 상단 두 블록 나란히, 세 번째 블록을 아래 전체 너비에 배치하고, 음수는 여백([[3,-1,3],[1]])입니다.

layout-ncol

출력 블록을 열로 배치합니다.

layout-nrow

출력 블록을 행으로 배치합니다.

layout-align

레이아웃 콘텐츠의 수평 정렬입니다(default, left, right, center).

layout-valign

레이아웃 콘텐츠의 수직 정렬입니다(default, top, center, bottom).

페이지 열

column

출력을 위한 페이지 열입니다.

fig-column

그림 출력을 위한 페이지 열입니다.

tbl-column

표 출력을 위한 페이지 열입니다.

cap-location

그림/표 캡션 위치를 지정합니다(top, bottom, margin).

fig-cap-location

그림 캡션 위치를 지정합니다(top, bottom, margin).

tbl-cap-location

표 캡션 위치를 지정합니다(top, bottom, margin).

Cache

cache

코드 청크 캐시 사용 여부입니다. 두 번째 실행 시 캐시된 청크를 건너뛰고(.rdb, .rdx 저장), 캐시 폴더를 새로 생성하거나 누락 시 만들고, 청크 레이블+옵션 md5로 이름을 정합니다. 변화가 있으면 md5가 달라져 캐시 무효화됨.

cache-vars

캐시 DB에 저장할 변수 이름입니다. 자동 감지가 불완전할 수 있으므로 저장할 변수만 지정하거나 일부만 남길 수 있습니다.

cache-globals

현재 청크 외부(global) 변수 이름입니다. autodep: true가 청크 B가 A 의 로컬 변수를 global로 참조할 때 유용하며 자동 탐지 실패 시 수동 지정 가능합니다. cache-globals: false는 global/로컬 구분 없이 모든 변수 탐지입니다.

cache-lazy

객체를 lazyLoad()로 불러올지 load()로 직접 불러올지를 결정합니다. 매우 큰 객체는 lazy loading이 실패할 수 있으므로 cache-lazy: false가 필요할 수 있습니다(자세한 내용은 #572을 참고하세요).

cache-rebuild

해당 청크의 캐시를 강제로 다시 생성합니다.

cache-comments

주석 변경이 청크 캐시 무효화로 이어지지 않도록 방지합니다.

dependson

이 청크의 캐시 의존성을 명시적으로 지정합니다(하나 이상의 청크 레이블).

autodep

전역 변수 사용을 통해 캐시 의존성을 자동으로 감지합니다.

포함

child

하위 문서 경로(여러 개 가능)를 지정해 knit 후 메인 문서에 포함합니다.

file

실행할 코드가 들어 있는 파일입니다.

code

실행할 코드 문자열입니다.

purl

knitr::purl()로 코드를 추출할 때 해당 청크를 포함합니다.