Online Appendix E — R 마크다운(R Markdown)

Quarto는 R 마크다운의 뒤를 잇는 차세대 도구이지만, 여전히 많은 연구자와 분석가들이 기존의 R 마크다운을 널리 사용하고 있습니다. 대부분의 경우 Chapter 3에서 다룬 원칙들은 Quarto와 R 마크다운 모두에 공통적으로 적용됩니다. 다만 이 부록에서는 Quarto와 R 마크다운의 구체적인 구현 방식이 다른 경우를 대비하여, R 마크다운 환경에서의 활용법을 정리해 두었습니다.

E.1 R 코드 청크(Chunks)

R 마크다운 문서 내의 코드 청크에는 R뿐만 아니라 여러 다양한 프로그래밍 언어의 코드를 포함할 수 있습니다. 문서를 렌더링(knit)하면 청크 안의 코드가 실행되고, 그 결과물이 문서의 해당 위치에 삽입됩니다. 예를 들어, tidyverseAER 패키지를 로드하여 지난 2주간 의사를 방문한 횟수를 시각화하는 그래프를 만들 수 있습니다.

```{r}
library(tidyverse)
library(AER)

data("DoctorVisits", package = "AER")

DoctorVisits |>
  ggplot(aes(x = illness)) +
  geom_histogram(stat = "count")
```

해당 코드의 출력은 ?fig-doctervisits 입니다.

1977-1978년 호주 건강 조사를 기반으로 한 지난 2주간의 질병 수

Quarto와 달리 모든 옵션이 중괄호 안에 맨 위에 있다는 점에 유의하십시오. Quarto의 주석 표기법은 사용할 수 없습니다.

E.2 교차 참조

그림, 표, 방정식을 교차 참조하는 것이 유용할 수 있습니다. 이렇게 하면 텍스트에서 참조하기가 더 쉬워집니다. 그림의 경우 그림을 생성하거나 포함하는 R 청크의 이름을 참조합니다. 예를 들어, (Figure \@ref(fig:uniquename))은 (?fig-uniquename) 을 생성합니다. 이는 R 청크의 이름이 uniquename이기 때문입니다. 또한 R 마크다운이 이것이 그림임을 알 수 있도록 청크 이름 앞에 ’fig’를 추가해야 합니다. 그런 다음 캡션을 지정하는 ’fig.cap’을 R 청크에 포함합니다.


```{r uniquename, fig.cap = "1977-1978년 호주 건강 조사를 기반으로 한 지난 2주간의 질병 수", echo = TRUE}
library(tidyverse)
library(AER)

data("DoctorVisits", package = "AER")

DoctorVisits |>
  ggplot(aes(x = illness)) +
  geom_histogram(stat = "count")

1977-1978년 호주 건강 조사를 기반으로 한 지난 2주간의 질병 수

표를 교차 참조하는 유사하지만 약간 다른 접근 방식을 취할 수 있습니다. 예를 들어, (Table \@ref(tab:docvisittablermarkdown))은 (Table E.1) 을 생성합니다. 이 경우 R 마크다운이 테이블임을 알 수 있도록 테이블의 고유 참조 앞에 ‘tab’을 지정합니다. 테이블의 경우 그림의 경우와 같이 ’fig.cap’ 청크 옵션이 아닌 ’caption’으로 캡션을 본문에 포함해야 합니다.

Table E.1: 1977-1978년 호주 건강 조사를 기반으로 한 지난 2주간의 의사 방문 횟수
visits n
0 4141
1 782
2 174
3 30
4 24
5 9
6 12
7 12
8 5
9 1

마지막으로, 방정식을 교차 참조할 수도 있습니다. 이를 위해 태그 (\#eq:macroidentity)를 추가해야 하며, 이를 참조합니다. 예를 들어, Equation \@ref(eq:macroidentity).를 사용하여 (Equation E.1) 를 생성합니다.


\begin{equation}
Y = C + I + G + (X - M) (\#eq:macroidentity)
\end{equation}

\[ Y = C + I + G + (X - M) \tag{E.1}\]

교차 참조를 사용할 때는 R 청크에 간단한 레이블이 있는지 확인하십시오. 일반적으로 이름은 간단하지만 고유하게 유지하고, 가능하면 구두점을 피하고 문자를 사용하십시오. 레이블에 밑줄을 사용하지 마십시오. 오류가 발생합니다.