실무에서 많이 사용되는 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년만에 업데이트 되면서 추가로 추가된 사항도 많이 있다.
R 마크다운을 사용해서 쉽게 아무것도 없는 텍스트를 강조, 이태릭은 물론이고 링크도 추가할 수 있는데 자세한 내용은 영문 컨닝쪽지(RStudio cheatsheet)에서 확인 가능하고 한글은 R 마크다운 컨닝쪽지에서 확인 가능하다.
큰제목, 중간제목, 작은제목, … 표현하는데 #
, ##
, ###
을 사용하는데 각각에 대해서 번호를 넣고자 하는 경우 YAML 헤더에 number_sections: TRUE
를 넣어 사용하면 된다.
줄간격을 넓혀 띄어쓰기를 하고자 할 경우 <br>
을 넣어 준다.
헌법개정안 대통령 발의
국회에서 응답
이미지를 가운데 정렬시키는데 다음 코드를 사용한다. {#id .class width="50%"}
을 통해 이미지 크기도 조정할 수 있다.
결과는 다음과 같다.
이미지 주변 공백이 문제된다면 Anna Quaglieri님이 제안해 주신 fig.asp
인자값을 조정하여 해결한다. 예를 들어, fig.asp=0.50
값을 사용한다.
수학공식 등 수식을 넣을 경우 $
사이에 \(LaTeX\) 수식을 넣어 작성한다.
\[A = (\pi * \lambda \times r^{4}) / \alpha \]
R 코드 덩어리(R Code chunk)를 문자 그대로 .Rmd
파일에 담을 필요가 있다. 다양한 방법이 있는데, <pre><code> R 코드 덩어리 </code></pre>
으로 감싸는 것이다.
"{r whatever}
boxplot(1:10)
plot(rnorm(10))
" -> verbatim_string
cat("<pre><code>```", verbatim_string, "```</code></pre>", sep = "")
<pre><code>```{r whatever}
boxplot(1:10)
plot(rnorm(10))
```</code></pre>
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))```
그래프를 나란히 놓고자 할 경우 다음과 같이 코드를 작성한다.
\({r two-figure, out.width=c('50%', '50%'), fig.show='hold'}\)
또다른 방식은 gridExtra
등 팩키지를 사용하여 그래프를 작성할 때 먼저 그래프를
R 마크다운은 bootstrap framework를 사용하기 때문에 화면을 횡으로 12칸으로 구분하기 때문에 이를 적절히 나눠서 \(6 \times 2\), \(4 \times 3\), \(3 times 4\)와 같이 나눠 다단 편집하여 사용할 수 있다.
<div class = "row">
<div class = "col-md-4">
<br><br> **R 마크다운**이 bootstrap framework를 사용한다는 놀라운 사실
</div>
<div class = "col-md-4">
<br><br> **bootstrap framework**
- Bootstrap Theme: https://startbootstrap.com/themes/
- Jekyll Themes: http://jekyllthemes.org/
</div>
<div class = "col-md-4">
``{r, message=FALSE, echo=TRUE, eval=FALSE}
ggplot( mtcars, aes(x=mpg)) +
geom_histogram(fill="skyblue", alpha=0.5) +
theme_minimal()
``
</div>
</div>
bootstrap framework
<div>
태글 사용하여 col-md-6
값을 조정해서 이등할 수도 있고, col-md-4
를 3회 사용하여 3등분하는 것도 가능하다.
입력사례
열심히… 입력합니다.
복사하여 붙여넣기
컨트롤+C , 컨트롤+V
DT
인터랙티브 표DT
팩키지를 사용해서 인터랙티브 표를 생성할 수 있다. 다음과 같은 설정을 하게 되면 좀더 수월하게 원하는 깔끔한 인터랙티브 표를 생성시킬 수 있다.
특정 문단을 강조하고자 할 경우 다음과 같이 <style> ... </style>
을 정의하고 <div class = "blue"> ... </div>
로 뽑아내서 사용한다.
<style>
div.blue { background-color:#e6f0ff; border-radius: 5px; padding: 10px;}
</style>
<div class = "blue">
- R Meetup 10회
- 발표해주시고 참여해주신 분들 감사드립니다.
</div>
YAML
헤더code_folding: show
code_folding: hide
toc: yes
highlight: tango
number_sections: TRUE
tinytex
를 설치한 후에 output:에서 latex_engine: xelatex
로 지정하고, pandoc_args
를 지정하여 PDF 파일을 하나로 만든다. 마지막으로 잊지 말아야 할 것이 mainfont : NanumGothic
로 한글 폰트를 잊지말고 꼭 지정한다.
PDF 엔진 설치부터 한글 PDF 문서 출력을 위한 자세한 사항은 \(LaTeX\) PDF 문서를 참조한다.
GitHub 리본 웹사이트에 적절한 GitHub 리본을 찾아 이를 header.html
파일에 저장시킨다. 그리고 나서 YAML 헤더에 in_header: header.html
와 같이 지정하면 본 문서에 대한 HTML 원본 저작파일을 재현가능하게 GitHub 저장소에 연결시킬 수 있다.
데이터 과학자 이광춘 저작
kwangchun.lee.7@gmail.com