본문 바로가기
+ 자료실

『데이터 시각화 교과서』 원서 깃북 소스코드 설치와 실행환경

by 책만 2020. 2. 17.

 

저자 클라우스 윌케(Klaus O. Wilke)는 데이터 시각화 교과서책 원서 『Fundamentals of Data Visualization』 전체 내용을 R 마크다운(Markdown)에서 bookdown, knitr R 패키지를 사용해 작성했습니다. 또한 책에 포함되는 모든 그래프와 차트, 도표는 ggplot2cowplot, geofacet, ggforce, ggmap, ggrepel, ggridges, hexbin, patchwork, sf, statebins, tidybayes, treemapify 등의 패키지를 함께 활용해 제작했으며, 도표의 색상은 colorspacecolorblindr 패키지를 사용했습니다. 또한, 책의 내용을 모두 학습한 뒤 차트를 생성하는 구체적인 코드가 궁금하거나 참고하려는 독자들을 위해 저자는 책의 전체 내용을 웹 문서나 깃북으로 렌더링할 수 있는 프로그래밍 코드(https://github.com/clauswilke/dataviz)와 이를 컴파일하기 위해 필요한 R 패키지(https://github.com/clauswilke/dviz.supp)를 깃허브에 공개했으며, 전체 책은 저자의 사이트(https://serialmentor.com/dataviz/)에서 볼 수 있습니다. 

 

이에 이 글에서는 원서 책 전체 파일을 컴파일하는 방법을 소개합니다. 하지만 그에 앞서 한 가지 염두에 둘 점이 있습니다. 저자는 이 책이 데이터 시각화의 일반적인 원칙을 설명하는 책이라는 점을 강조하며 책 본문에 차트 생성 코드를 담아 특정한 프로그래밍 언어(R, 파이썬 등)에 종속되는 점을 원하지 않았습니다. 다음은 저자가 자신의 깃허브에 FAQ로 남긴 글입니다.

 

1. 그래프의 R 소스 코드를 책에 넣지 않은 이유는?
이 책은 프로그래밍 기법을 소개하고자 쓰지 않았다. 책에 특정 컴퓨터 코드가 한 줄이라도 들어가는 순간 해당 언어에 관심 없는 독자는 책을 덮어버린다. 『Numerical Recipes in C』, 『Numerical Recipes in Fortran』, 『Numerical Recipes in C++』가 언어별로 나온 이유도 그 때문이다. 사용 방법은 모두 같을 테지만 C나 포트란 사용자는 자신이 사용하는 언어로 된 책을 읽고 싶어하기 때문이다. 나 또한 R에 대한 데이터 시각화 책을 쓰고 싶지 않았다. 어떤 시각화 도구를 선택하든 무관하게 읽을 수 있는 ‘데이터 시각화의 기본 원리’에 대한 책이 되길 원했다.

2. 각 도표 그림에서 R 마크다운 파일의 코드 청크 링크로 이동할 수 있나?
안 된다. 우선, 해당 기능은 R 마크다운에서 제공해야 한다. 만약 R 마크다운에서 이 기능을 지원했다면 가능했을지도 모른다. 또한, 이 책의 대부분 도표를 만든 코드는 독립적으로 실행되지 않는다. 각 장의 후반 그림은 이전 그림의 코드에서 수행된 계산에 따라 달라질 수 있다. 일반적으로 각 장에 대한 R 마크다운 파일이 자체적으로 포함되어 있어도 각 파일의 코드 청크는 상호보완적으로 빌드된다. 따라서 특정 도표 그림이 어떻게 만들어졌는지 이해하려면 해당 장의 전체 R 마크다운 파일을 읽어야 가능하다.

 

자세한 설치 방법과 코드 내용은 『통계 분석 너머 R의 무궁무진한 활용』, 『R Shiny 프로그래밍 가이드』, 『Data Smart』 등 R R마크다운을 이용한 책을 다수 저술하고 번역하신 고석범 님의 가이드 문서 데이터 시각화 교과서 원서(GitBook) 렌더링 방법을 참고하기 바랍니다. 파일은 다음 링크에서 내려받으실 수 있습니다.

 

 

dataviz_rendering.pdf
1.31MB

 

대부분의 독자들은 개별 차트를 생성하는 ggplot2 등의 코드에 관심이 있을 것으로 예상되며 이 경우, 내려받은 코드 중에서 확장자가 rmd 파일(마크다운 파일)이 각 챕터의 내용을 담고 있으므로 이 파일을 열어 본문 중간에 삽입된 차트 생성 코드만 참고하면 효율적일 것입니다. 단 저자가 제공하는 전체 코드와 차트 생성 코드는 프로그래밍 초보자가 접근하고 이해하기가 쉽지는 않으며 오픈소스 코드의 특성상 R버전과 R패키지 버전, 독자들의 컴퓨팅 환경과 실습 시기에 따라 프로그래밍 코드 실행을 100% 보장할 수 없다는 점은 양해하기 바랍니다.

 

 

저자의 설명처럼 이 책은 프로그래밍 책이 아니라 데이터 시각화의 일반 원리를 설명하는 책이라는 점을 다시 한번 강조합니다. R을 이용한 데이터 시각화의 심화학습에 관심있는 분들께 도움되길 바랍니다.

댓글