나는 조금은 평범하지 않은 과정을 통해 R 사용자가 됐다.
추상 확률 이론에 대한 논문을 썼고, 사회생활 초반에는 통계 교수로 몇 년을 지냈다. 가르치고, 연구하고, 통계 방법론에 대해 컨설팅하는 일이었다. UCD에서 통계학과를 만든 12명 정도 되는 교수 가운데 한 명이었다.
몇 년 후 나는 같은 학교의 전산학과로 옮겼고, 이후 많은 시간을 이 곳에서 병렬 프로그래밍, 웹 트래픽, 데이터 마이닝, 디스크 시스템 성능 등 다양한 분야를 연구하며 보냈다. 나의 전산 교육과 연구는 대부분 통계를 포함한다.
이런 많은 경험을 거쳐 나는 ‘하드코어’한 전산학자이며 통계학자이자 통계 연구원으로서 다양한 관점을 모두 지니게 됐다. 나의 많은 경험이 이 책의 부족함을 보충하고 독자들에게 더 큰 가치를 줄 수 있기를 바란다.---저자 서문 중에서
‘빅데이터’가 시대의 화두가 되면서, 이전에는 ‘그들만의 리그’라고 여겨졌던 ‘데이터 분석’에 대한 관심 역시 크게 늘어났습니다. 그러면서 자연스럽게 데이터 분석이 특정 사업 분야가 아닌 ‘데이터 처리-활용 주기’의 일부로 여겨지게 됐고, 이에 따라 전반적으로 데이터 처리에서 활용으로 이어지는 데에 사용되는 데이터 플랫폼 또한 자연스럽게 연결되는 데까지 초점이 맞춰지기 시작했습니다. 따라서 빅데이터 플랫폼으로 각광받는 오픈소스 플랫폼인 하둡(Hadoop)과 기존 분석 도구와의 결합에 대한 관심이 높아졌고, 이에 따라 오픈 소스 통계 언어인 R이 새롭게 각광을 받게 됐습니다.
기존 DB 및 관련 프로그램들만을 다루던 전산 분야의 사람들도 데이터 분석에 대해 관심을 보이고, 분석 분야에도 발을 들이고자 하는 시도가 활발히 이뤄지면서, 자연스럽게 R을 배우고자 하는 사람도 늘었습니다. 또한 기존부터 꾸준히 데이터 분석 업무를 하던 사람들도 그 동안 사용하던 상용 분석 도구인 SAS나 SPSS보다 패키지 업데이트가 빠르고, 다양한 데이터 소스와의 연결이 쉬운 R에 좀더 많은 관심을 갖게 되었습니다. 바야흐로 R이 ‘데이터 분석’계의 화두로 떠오르게 된 것입니다.
이와 같은 상황에서 데이터 분석을 하고 R을 사용하다 보니, 주변에서 ‘R을 공부하고 싶다, 방법을 알려달라’라든가 ‘초보자가 보기 쉬운 R 책을 추천해 달라’라는 이야기를 종종 듣게 됩니다. 하지만 추천도 참 쉽지 않은 것이, R이 ‘통계 분석’을 주 목적으로 만들어진 ‘프로그래밍’ 언어다 보니 전반적으로 ‘통계적 지식’과 ‘전산학적 지식’을 어느 정도 갖춘 상태라고 전제하고 만들어진 책들이 대부분입니다. 심지어 기본 매뉴얼조차 어느 정도 이런 경향이 있습니다. 그러다 보니 보통 R에 관심을 갖게 되는 개발자 혹은 기존 데이터 분석가의 경우 한쪽의 지식만 많이 아는 상태이므로, 어떤 교재, 어떤 방법을 추천해 줘야 할지 어려웠습니다. 게다가 이 양쪽의 지식을 어느 정도 갖춰야 하는지 가늠하는 것 또한 쉽지 않아서 섣불리 어떤 조언을 해 주기가 어려웠습니다.
그런 의미에서 이 책을 접했을 때에 굉장히 반가웠습니다. R이 통계 분석을 위한 응용 언어다 보니까, 일반적으로 통계, 수학 등 어떤 목적에 대해 R을 어떻게 활용할 수 있는지 보여주는 형식의 책이나 매뉴얼이 많았습니다. 하지만 이 책에서는 R을 ‘프로그래밍 언어’로 보고 이를 어떻게 배울 수 있는지 기초적인 부분부터 고난도의 내용까지 꼼꼼하게 설명합니다. 그렇기 때문에 특히 ‘전산학적 지식’을 기본적으로 갖춘 사람에게 적합한 책이라고 생각합니다. 저자 역시 전산학을 먼저 시작한 후 통계학으로 넘어가면서 R을 접하게 된 분이어서 그런지 몰라도, R을 프로그래밍 언어 구조를 바탕으로 굉장히 차근차근 설명해줍니다. 통계학적 지식은 예제를 살펴볼 때 외에는 크게 필요하지 않고, 그나마도 쉬운 예제들로 접근하고 있기 때문에 심한 불편함은 겪지 않을 것이라고 생각합니다.
반면, ‘통계 지식’을 먼저 쌓은 사람에게는 추천하지 않느냐고 하면, 그렇지 않습니다. 기본적으로 책이 쉽게 쓰여 있고, R 프로그래밍에 대해 쉽고 친절하게 설명하기 때문에 타 분석 도구의 GUI에 익숙해져 있던 사람들이 R 프로그래밍을 익히는 데에 큰 도움이 될 수 있다고 봅니다. 이미 R 프로그래밍에 어느 정도 익숙한 사람이라고 하면, R의 구조나 프로그래밍에 대한 참고 자료로 옆에 두고 사용할 수도 있을 것이라고 생각합니다.
R을 실제로 공부하고 사용하는 사람으로서 이 책을 원서로 처음 접했을 때부터 참 좋은 책이라고 생각했고 참고 자료로 충분히 잘 사용할 수 있겠다고 생각했습니다. 때마침 이 책을 번역할 수 있는 기회가 주어져, 번역작업이 쉽지는 않았지만 굉장히 즐거운 시간을 보낼 수 있었습니다. 그만큼 이 책을 본 사람들이 R을 좀더 잘 이해하고 즐겁게 사용할 수 있기를 바랍니다.
---옮긴이의 말 중에서