R로 하는 데이터 시각화 이북 리뷰

R로 하는 데이터 시각화

R로 하는 데이터 시각화는 한빛미디어의 리얼타임 시리즈로 출간된 이북입니다. 데이터 분석 및 시각화에 대한 관심이 있었기에  R 언어를 한번도 경험해 보지 않았음에도 불구하고 겁 없이 이 책을 선택해서 읽었습니다. 다행히 큰 어려움 없이 책을 읽을 수 있었고 이렇게 리뷰를 남깁니다.

이 책은 제목 그대로 정직하게 R을 통해서 데이터 결과물을 어떻게 시각화 할 수 있는지를 알려줍니다. 다행인 것은 저처럼 R을 처음 경험하는 사람들도 읽을 수 있게 2장 “R 프로그래밍 기본”에서 기초부터 차근차근 설명합니다. 물론 책의 주 목적이 R 설명이 아니기 때문에 자세하지는 않습니다.

또한 이 책을 읽으려면 최소한 기본적인 프로그래밍 지식을 가지고 있어야 합니다. 예를 들면 객체, 벡터, 리스트, Call by value나 Call by reference의 용어를 자연스럽게 사용합니다. 따라서 프로그래밍 경험이 없는 분들이 읽기에는 다소 어려움이 있을 수 있습니다. 

R 시각화

이 책의 핵심은 3장부터 소개하는 R을 통해 데이터를 시각화하는 부분입니다. 구체적으로는 ggplot2라는 패키지를 어떻게 다루는 지를 설명합니다. 설명을 위한 모든 예제에 코드가 제공되며 위의 그림처럼 간단히 책의 코드를 Copy&Paste해서 그대로 따라해 볼 수 있습니다.

데이터를 시각화 하는 R의 소스코드는 R을 처음 접하지만 그리 어렵지는 않습니다. 시각화하는 R의 코드는 논리적으로 프로그래밍하는 개념보다는 예를 들자면 MS오피스의 엑셀에서 차트를 그리는 일련의 과정을 GUI로 쉽게하는 것을 R에서 CLI형태로 하는 듯한 느낌일 뿐입니다.

따라서 여러가지 색상, 그래프 형태와 패턴등을 다루는 옵션들이 많기에 한번에 책의 내용을 다 소화할 수도 없습니다. 그때 그때 책의 예제에 소스를 참고로 다른 옵션들을 적용하면서 어떻게 결과가 나오는지를 보면서 학습하면 좋습니다.

책의 예제를 따라하면서 약간 아쉬운 점은 이북의 장점이기도 한 코드를 그대로 Copy&Paste하는 부분이 가끔 에러가 난다는 점입니다.

R 소스 오류

이는 타이포의 문제가 아니라 코드의 내용이 길어 한줄 내려 쓰기 할 때 문법에 맞지 않는 띄어쓰기가 들어있기 때문입니다. 따라서 제대로 실행하려면 R 문법에 맞지 않는 띄어쓰기를 지워야 정상적으로 명령이 실행됩니다. 이북으로 리얼타임시리즈가 갖는 장점이 바로 바로 코드를 옮겨 붙여 실행을 확인해 볼 수 있다는 측면에서 볼 때 약간 아쉬운 점입니다.

전반적인 총평을 하자면,  이 책은 ggplot2 패키지를 활용하여 어떻게 데이터를 시각화하는지에 대한 상세한 설명이 녹아든 책입니다. 더불어 R을 처음 접하는 독자도 감히 도전할 수 있는 책입니다. 다만 처음 R을 하는 사람들은 데이터를 시각화 하기 위한 전처리 작업, 즉 데이터 멍잉에 대한 부분은 좀 더 많은 연습과 준비가 필요한데 이 부분은 이 책의 목적과 거리가 멀어 많이 다루지 않기에 다른 자료나 교재를 통해 추가적인 예제 및 실습을 통한 학습이 요구됩니다.

방 안에서 R과 함께 따듯한 연말과 겨울을 보내봅시다!

R로 하는 데이터 시각화_리뷰

 

프로그래머들을 위한 통계학습 실습교재 Think Stats 리뷰

Think Stats 표지 프로그래머에 대한 정의가 사람마다 조금씩 틀리겠지만, 데이터 중심의 객체지향 프로그래밍이 흥왕하면서 아마도 데이터를 최전선에서 다루는 사람들로 이야기 할 수도 있지 않을까 싶네요. 이 포스팅에서 한빛리더스7기 미션도서로 리뷰할 Think Stats 역시 데이터를 수학적으로 다루는 통계에 관한 이야기 입니다.

Think Stats은 첫인상을 쓴 포스팅에서 말씀드린대로 한 마디로 프로그래머의 프로그래머에 의한 프로그래머를 위한 통계학 학습 책이라고 말씀드릴 수 있습니다. 따라서 내용은 주로 수학적인 공식과 이론설명보다는 실제 코드구현을 통해서 통계를 프로그래머에게 이해시키는 것이 목적입니다.

log_normal_distribution

이 책은 철저하게 이론 설명, 파이썬 예제, 그리고 용어정리의 구조로 반복됩니다. 그렇기 때문에 그냥 읽기만 해서는 내용을 제대로 소화하기 쉽지 않습니다. 예제코드를 리딩하고 위 그림처럼 코드를 돌려보고 결과를 확인하는 것이 상당히 중요합니다.

brfss_weight_log

혹시 파이썬이 처음이신 분들은 조금 어려울 수도 있습니다. 모든 코드가 파이썬으로 되어 있고 그래프 그릴 때 사용하는 matplotlib를 설치해야하기 때문입니다. 1 잘 설치되면 책의 예제를 따라 위와 같은 로그분포 그래프를 파이썬 코드로 그릴 수 있답니다. ^^

책이 실습위주라서 제 생각에는 최소한 고등학교 수학 선택과정인 확률과 통계 혹은 대학교양수업으로 통계학을 들어본 적이 있어야 읽기에 부담이 덜 할 것 같습니다.

마무리하면서, 이 책의 핵심은 예제의 코드를 돌려보고 결과를 눈으로 보는 것 입니다.  따라서 재미있게 따라해 볼 수 있는 반면에 통계이론에 대한 내용 생략이 많습니다. 주로 위키피디아 참조를 많이 하지요. (저처럼) 통계이론의 빠른 리뷰나 복습용으로는 적절치 않습니다. 오히려 기본 통계공부를 마친 뒤에 실제 활용측면에서 이 책이 빛을 발할 것 같습니다.

모든 프로그래머가 꼭 통계를 공부할 필요가 있는 것은 아니지만, 통계가 필요한 프로그래머에게는 기본적인 통계 공부 후 실습 교재로 Think Stats이 적절한 책이 아닌가 생각해 봅니다.

Notes:

  1. 책에서는 이런 부분에 대한 설명은 없어서 저는 구글링을 통해서 설치법을 찾아서 matplotlib를 설치 했습니다.

Think Stats, 한빛미디어 프로그래머를 위한 통계 학습

통계학이 학문세계에서 조미료처럼 안 쓰이는 곳이 없다보니 일부로 아껴두었다가 학부 4학년때 통계학을 수강했다. 하지만 시간이 꽤 지나고 난 지금 통계를 자주 활용하는 것은 아니다보니 기억속에 남아 있는 통계지식은 점점 사라져 간다.

Think Stats 표지

그런데 간간히 개발을 하다 보면 통계적 지식이 필요한 일이 있다. 그렇다고 학부 때 공부한 교재를 꺼내서 보자니 수식과 이론 중심의 내용은 귀찮고 시간이 많이 든다. 다행히 통계공부의 필요성을 늘 가지고 있던 찰나에 한빛리더스 7기의 리뷰 도서중 “Think Stats”이 보여 선택하게 되었다. 무엇보다 부제 “프로그래머를 위한 통계 및 데이터 분석 방법”이 딱 나한테 맞는 적절한 내용일 것 같았다.

Think Stats 실물 표지

이북을 다운 받아 아이패드에 넣어서 저자와 역자의 서문을 훑어보았다. 이 책은 대학에서 전산을 가르치는 Allen B. Downey가 쓴 “Think Stats” 를 번역한 것이다. 저자는 종래의 통계 도서를 전혀 보지 않고 전산 전공자 입장에서 어떻게 통계에 접근할 것인가를 고려하여 책을 썼다고 한다.

think_stats_comp저자는 누구나 자유롭게 공부할 수 있도록 내용을 공개하기를 원하여 홈페이지에서 영어 원문을 직접 다운받을 수 있도록 했다. 또한 페이스북 페이지도 운영하고 있어서 여기서 다른 정보도 얻을 수 있도록 한다.

구체적인 책의 내용은 전산전공자를 위해서 프로젝트 중심으로 파이썬을 통해서 진행하는 것 같다. 수식과 계산에 짓눌리지 않고 공부한 내용을 프로그래밍을 통해서 바로 확인할 수 있을 것 같아 재미있는 통계 공부가 될 것 같은 기분이다.

내용은 이북 사이즈로 전체 160 페이지라서 기억이 희미해지면 복습하기에도 부담없는 분량이다. 오늘부터 약 2주간 빠르게 읽어보면 좀 더 이 책의 매력을 알 수 있을 것 같다. 자 통계의 바다로 빠져보자!