R Markdown
R과 markdown 의 결합 : Rmarkdown
2004년 John Gruber 에 의해 만들어진 markdown 은 HTML 문법보다 경량화된 문법을 이용하여 적은 지식으로 깔끔한 웹페이지 문서를 만들기 용이한 언어입니다.
markdown 의 대표적 쓰임 중 하나를 예시로 들자면 Github 가 있습니다.
Github에 있는 프로젝트 저장소 root 디렉토리에 (항시 존재하는) Readme 파일이 Markdown 으로 작성되어 있고 markdown 으로 작성을 권고하고 있지요.
지금 작성한 이 글도 markdown 문법으로 글을 작성 한 이후 HTML 파일로 변환하여 올리고 있습니다.
HTML 문법을 알지 못하더라도 이러한 글을 markdown 이란 쉬운 문법을 통해 마치 HTML 로 작성한 효과를 발휘합니다.
이러한 특징을 가지고 있는 markdown을 R과 조화시킨 것이 Rmarkdown 입니다.
어떤 문구를 작성하고 나면 그 문구는 파일을 직접 수정하지 않는 이상 불변한다는 특징을 가지고 있습니다.
그런데 그 문구에 R이라는 프로그래밍을 접목시켜 상황에 따라 변동을 가지고, 융통성 있는 인터렉티브한 문서를 만들 수가 있습니다.
다음과 같은 상황에서 Rmarkdown 을 공부하면 좋은 이유들을 설명할 수 있을 것 같습니다.
- 데이터를 이용한 분석보고서의 경우 데이터의 아주 작은 변화가 있다 하더라도 보고서안의 여러가지 문구의 수치들에 영향을 받기 때문에, 그 수치들을 하나하나 찾아 최신화를 하는 작업이 필요하게 됩니다.
이러한 경우를 미리 생각하여 Rmarkdown 을 활용하면 소위 노가다작업을 피할 수 있습니다.
즉 문서작업의 모든 workflow 과정을 하나로 통합관리 할 수 있습니다. - 재현 가능한 연구(Reproducible Research)의 좋은 도구가 될 수 있습니다.
문서 내에 코드가 있고 코드실행 결과를 직접 삽입하게 되므로, 읽는 독자나 필자 모두 분석결과를 확인할 수 있기 때문에 검증과정이 투명해집니다. - 문서자체가 프로그래밍이 접목되었기 때문에 얻을 수 있는 잠재적 효과는 많다고 판단됩니다.
한가지 예를 들어 Rmarkdown 과 같은 형태로 보고서, 논문을 작성하였을 때 글을 읽은 다른 독자가 연구방향을 약간 틀어 얼마든지 재 적용시킬 수 있다는 점이 있습니다.
본 코스는 R을 기준으로 설명을 드리고 있지만 R뿐만 아니라 다른 프로그래밍 언어를 이용해서 markdown 과 접목시킬 수 있는 방법들은 여러 가지가 있습니다.
그렇기 때문에 여기 있는 내용의 컨셉과 개념들을 가지고 다른 방법으로도 확장할 수 있으므로 유용하게 배워 볼만한 주제입니다.