실무에서 많이 사용되는 R 마크다운 구문이 잘 정리된 블로그가 있어 현대적인 과학논문 저작의 내용에 더하여 R을 주로 사용하는 사용자에게 유용할 것으로 사료되어 블로그의 내용을 중심으로 내용을 정리하였고 몇가지 유용한 사례도 추가하였다. 특히, Pimp my RMD: a few tips for R Markdown by Yan Holtz - 11 April 2018 내용이 많이 포함되어 있다. PIMP는 “Put In My Pocket”으로 추청된다. 또한, Pimp my RMD: a few tips for R Markdown by Yan Holtz - 10 December 2019 거의 1년만에 업데이트 되면서 추가로 추가된 사항도 많이 있다.

Rmd, CSS, header/footer HTML 구조

Rmd, CSS, header/footer HTML 구조

2 수평선


문서에 수평선을 넣어 문장이나 문단을 구분할 때 유용하게 사용될 수 있는데 이런 경우 별 3개로 간단히 처리가 된다.


3 제목 자동번호 넣기


큰제목, 중간제목, 작은제목, … 표현하는데 #, ##, ###을 사용하는데 각각에 대해서 번호를 넣고자 하는 경우 YAML 헤더에 number_sections: TRUE를 넣어 사용하면 된다.

4 줄간격 넓히기


줄간격을 넓혀 띄어쓰기를 하고자 할 경우 <br>을 넣어 준다.

헌법개정안 대통령 발의


국회에서 응답

5 이미지 가운데 정렬


이미지를 가운데 정렬시키는데 다음 코드를 사용한다. {#id .class width="50%"}을 통해 이미지 크기도 조정할 수 있다.

결과는 다음과 같다.

컴퓨터 과학 언플러그드

6 이미지 주변 공백


이미지 주변 공백이 문제된다면 Anna Quaglieri님이 제안해 주신 fig.asp 인자값을 조정하여 해결한다. 예를 들어, fig.asp=0.50 값을 사용한다.

  • fig.width=3,
  • fig.height=3
  • fig.align=‘center’
  • cache=TRUE
  • fig.cap=“Lovely Kangaroo from the Mornington Peninsula.”
  • fig.asp=0.50
Lovely Kangaroo from the Mornington Peninsula.

Lovely Kangaroo from the Mornington Peninsula.

8 이미지 캡션(caption)


다음과 같이 fig.cap 인자를 지정하여 이미지에 짧은 해설문(caption)을 단다. 즉, 그래프 캡션(caption)을 넣는 방식은 다음과 같이 R 코드 덩어리(chunk)에 fig.cap에 명세를 한다.

그림 1: 정말 짧은 해설문 을 caption이라고 영어로 번역한다.

그림 1: 정말 짧은 해설문 을 caption이라고 영어로 번역한다.

9 고급 이미지 캡션(caption)

사용자 정의 캡션을 다음과 같이 style.css 파일에 적어 활용할 수 있다. 즉 style.css 파일에 p.caption 내부에 이미지에 대한 짧은 설명문 캡션을 원하는 형태로 기록해둔다.

그림 1: 정말 짧은 해설문 을 caption이라고 영어로 번역한다.

그림 1: 정말 짧은 해설문 을 caption이라고 영어로 번역한다.

10 \(LaTeX\) 수식

수학공식 등 수식을 넣을 경우 $ 사이에 \(LaTeX\) 수식을 넣어 작성한다.

\[A = (\pi * \lambda \times r^{4}) / \alpha \]

11 R 코드 덩어리: verbatim 2


R 코드 덩어리(R Code chunk)를 문자 그대로 .Rmd 파일에 담을 필요가 있다. 다양한 방법이 있는데, <pre><code> R 코드 덩어리 </code></pre>으로 감싸는 것이다.

<pre><code>```{r whatever}
boxplot(1:10)
plot(rnorm(10))
```</code></pre>

12 2칼럼 그래프 나란히


R 코드 덩어리(R Code chunk)에 out.width=c('50%', '50%'), fig.show='hold', fig.align='default'을 추가하면 생성되는 그래프를 나란히 놓을 수 있다.

```{r out.width=c('30%', '70%'), fig.show='hold', fig.align='default'}
boxplot(1:10)
plot(rnorm(10))```

12.1 그래프를 나란히

그래프를 나란히 놓고자 할 경우 다음과 같이 코드를 작성한다.

\({r two-figure, out.width=c('50%', '50%'), fig.show='hold'}\)

또다른 방식은 gridExtra 등 팩키지를 사용하여 그래프를 작성할 때 먼저 그래프를

13 다단 편집


R 마크다운은 bootstrap framework를 사용하기 때문에 화면을 횡으로 12칸으로 구분하기 때문에 이를 적절히 나눠서 \(6 \times 2\), \(4 \times 3\), \(3 times 4\)와 같이 나눠 다단 편집하여 사용할 수 있다.



R 마크다운이 bootstrap framework를 사용한다는 놀라운 사실



bootstrap framework

13.1 R 코드 나란히

<div> 태글 사용하여 col-md-6 값을 조정해서 이등할 수도 있고, col-md-4를 3회 사용하여 3등분하는 것도 가능하다.

입력사례

열심히… 입력합니다.

복사하여 붙여넣기

컨트롤+C , 컨트롤+V


14 R Meetup


tabset을 적용하여 각 하위 장이나 절마다 탭을 생성하는데 먼저 style.css에 다음 내용을 반영시킨다.

본격적으로 R 코드 청크를 작성한다.


14.1 1번째 Meetup

Welcome to the R 커뮤니티!!!

14.2 2번째 Meetup

많은 분들이 모였습니다.

14.3 3번째 Meetup

R Meetup의 성공을 기원합니다.

15 DT 인터랙티브 표

DT 팩키지를 사용해서 인터랙티브 표를 생성할 수 있다. 다음과 같은 설정을 하게 되면 좀더 수월하게 원하는 깔끔한 인터랙티브 표를 생성시킬 수 있다.

  • 10줄 대신 5~7줄만 표로 출력
  • 깔끔한 인터랙티브 표 외양 갖추기
  • 검색기능
  • 각 칼럼별로 필터 추가
  • 등등…

16 특정 문단 강조


특정 문단을 강조하고자 할 경우 다음과 같이 <style> ... </style>을 정의하고 <div class = "blue"> ... </div>로 뽑아내서 사용한다.

  • R Meetup 10회
  • 발표해주시고 참여해주신 분들 감사드립니다.

17 YAML 헤더


17.2 PDF 파일

tinytex를 설치한 후에 output:에서 latex_engine: xelatex로 지정하고, pandoc_args를 지정하여 PDF 파일을 하나로 만든다. 마지막으로 잊지 말아야 할 것이 mainfont : NanumGothic로 한글 폰트를 잊지말고 꼭 지정한다.

PDF 엔진 설치부터 한글 PDF 문서 출력을 위한 자세한 사항은 \(LaTeX\) PDF 문서를 참조한다.

18 Github 리본

GitHub 리본 웹사이트에 적절한 GitHub 리본을 찾아 이를 header.html 파일에 저장시킨다. 그리고 나서 YAML 헤더에 in_header: header.html와 같이 지정하면 본 문서에 대한 HTML 원본 저작파일을 재현가능하게 GitHub 저장소에 연결시킬 수 있다.

 

데이터 과학자 이광춘 저작

kwangchun.lee.7@gmail.com