distill을 이용한 블로깅

Reproducible Research

“그동안 blogdown 패키지를 이용해서 블로그를 운영해왔으나, 이번에 distill 패키지를 이용해서 블로그를 리뉴얼했습니다. 사실 그동안 블로그 운영이 활발하지 않았습니다. 이번 리뉴얼을 계기로 좀 더 분발해 보겠습니다.”

유충현 https://choonghyunryu.github.io (한화생명)
2021-10-24

들어가기

재현가능한 연구(Reproducible Research)라는 용어가 생소할 수 있으나 R world에서는 제법 회자되는 용어입니다. 공개한 연구의 결과물이 재현되고 검증될 수 있도록 하는 것을 의미합니다. 이 방법은 결국 연구가 발전하는 방향으로 재창조되는 결실을 가져옵니다. 이를 위해서는 데이터 분석의 방법을 실험 데이터에 연결하여 재현 검증될 수 있는 체계를 구축해야 합니다.

재현가능한 연구를 이해하기 쉬운 사례로 설명하겠습니다. 데이터 입출력 및 분석 방법의 로직과 분석 결과를 표현하는 R 스크립트를 R 마크다운 문서에 정리합니다. 물론 연구에 대한 자세한 설명과 결과 해석이 문서에 포함되어 있고, 원시 데이터도 별도로 포함합니다. 이 연구 결과를 RStudio 프로젝트나 R 패키지로 배포하면 누구나 동일한 결과를 재현할 수 있게 됩니다.

공개한 연구 자료에는 데이터, 분석을 위한 R 코드 및 과정의 설명과 결과의 해석 모두 포함되어야 합니다. 그러므로 재현가능한 연구는 오픈소스 정신이 깃들여 있는 셈입니다.

CRAN Task View: Reproducible Research 페이지를 보면 R에서 재현가능한 연구를 지원하는 에코 시스템이 어마어마하게 많고 다양한 기능을 가지고 있음에 놀랄 것입니다. 다수의 R 패키지가 여러 기능을 통해서 재현가능한 연구를 지원합니다만, R 마크다운 문서가 정적이거나 동적인 HTML 문서의 보고서로 만들어지거나 혹은 LaTeX을 이용해서 PDF 문서로 만들어지는 것이 눈에 잡히는 재현가능한 연구의 도구입니다.

광의적으로는 rmarkdown, knitr, blogdown, bookdown, distill도 재현가능한 연구를 지원하는 패키지입니다.

블로깅

개인적으로는 utils 패키지의 Sweave1 함수로 LaTeX 기반의 PDF 문서를 조판하는 것을 오래전부터 즐겨 왔습니다. 서적을 출판할 때에도 이용했구요. 그러나 이 방법은 LaTeX 문법을 배워야하는 허들이 있었습니다. 그러나 요즘은 rmarkdown도 LaTeX로 만든 PDF 파일 못지 않을 품질의 PDF 파일을 만들어줍니다. 사용자 입장에서는 진입장벽이 낮아진 것입니다.

어느 때부터 blogdown 패키지가 R 마크다운 문서로 블로그를 쉽게 만들 수 있음을 알고, blogdown 패키지를 사용해서 블로그를 운영해왔습니다. 만족해서 사용하고 있었지만, distill을 사용하기 시작하면서 distill로 이사하게 되었습니다.

두 패키지를 비교하자면, blogdown은 일반 블로그의 특징을 잘 표현하지만, 지식을 공유하고 재현가능한 연구 기반의 포스팅이 산만한 감이 없지 않습니다. 그러나 distill은 R 기반의 연구(응용) 결과의 공유를 모토로하는 재현가능한 연구 기반의 포스팅에 최적화되어 있습니다.

distill

distill 홈페이지인 https://rstudio.github.io/distill/ (Allaire et al. 2018)를 방문하면, distill의 기능을 익힐 수 있습니다. 헥스로고는 다음과 같이 물방울 이미지를 포함하고 있습니다.

다음에 distill의 재현가능한 연구에 최적화된 대표적인 기능을 정리해 봅니다.

이 포스트는 기술적인 노하우나 경험을 담고 있지는 않지만, 이해의 측면에서 distill의 재현가능한 연구에 최적화된 대표적인 기능을 표현해 보았습니다.

에필로그

이번 포스트는 이제부터 블로그 운영에 distill 패키지를 사용한다는 소식을 전하기 위해서 작성했습니다. 앞으로 distill 패키지를 비롯한, 재현가능한 연구를 지원하는 R 패키지들을 소개하는 포스트를 올려보겠습니다.

Allaire, JJ, Rich Iannone, Alison Presmanes Hill, and Yihui Xie. 2018. “Distill for r Markdown.” https://rstudio.github.io/distill.

  1. https://en.wikipedia.org/wiki/Sweave의 첫 문장은 Sweave의 정의를 설명합니다. 그 내용은 다음과 같습니다. Sweave는 통계 프로그래밍 언어 R의 기능으로 R 코드를 LaTeX 또는 LyX 문서에 통합할 수 있습니다. 목적은 “데이터 또는 분석이 변경되는 경우 자동으로 업데이트될 수 있는 동적 보고서를 생성하는 것”입니다.↩︎

References

Citation

For attribution, please cite this work as

유충현 (2021, Oct. 24). Dataholic: distill을 이용한 블로깅. Retrieved from https://choonghyunryu.github.io/2021-10-24-renewal

BibTeX citation

@misc{유충현2021distill을,
  author = {유충현, },
  title = {Dataholic: distill을 이용한 블로깅},
  url = {https://choonghyunryu.github.io/2021-10-24-renewal},
  year = {2021}
}