공부를 끄적끄적/책 리뷰

R교과서 - Learning R Programming

공돌이J 2020. 7. 8. 17:25

책의 표지에는 미래지향적(?)인 패턴이 그려져 있다. 흰색 배경이라 깔끔하다.

 

책 소개

 데이터 사이언스와 컴퓨터 사이언스가 많은 이목을 받으며 최근에 출간되는 많은 책들이 '문과생도 할 수 있는 프로그래밍', 'n주만에 마스터하는 파이썬' 등의 자극적이고 흥미를 부르는 표현을 이용하며 독자를 유치하고 있습니다. 프로그래밍을 처음 시작하는 친구에게 책을 추천해 주기 위해 서점에서 흥미로운 제목의 책을 몇권 읽어 보았는데, '독자가 이 책을 다 읽고 스스로 무언가를 할 수 있을까?'라는 생각이 드는 책들이 많았습니다. 그런 책들은 공통적으로 내용을 쉽게 설명하기 위해 비유와 추상화 된 개념을 이용하여 내용을 전달하고 있었고, 내부적으로 그 코드가 어떻게 동작되는지에 대한 내용은 독자들이 어려워 하기 때문에 넘어가며, 흥미로운 프로젝트를 한줄씩 따라해보며 만들어보는 내용을 가지고 있는 등의 공통점을 가지고 있었습니다. 당연하게도, 이 분야에 새로 들어오는 사람들에게 흥미를 유발시키고 동기부여를 하는 것은 중요합니다. 시작하자마자 '컴퓨터 공학 입문'이나 '클린 코드' 같은 책을 읽는다면 아마 저를 포함한 100의 99는 도망가 버릴테니까요. 하지만 입문서라면, 독자의 머리속에 기초적인 내용 뿐 아니라 다음 단계로 나아갈 수 있는 내부 매커니즘이나 배경 지식들을 남겨야 한다고 생각합니다. 

 

 위에 서술한 관점에서 보았을 때, R 교과서라는 책은 훌륭한 입문서이자 교과서라고 생각합니다. 원서의 제목인 'Learning R Programming'보다 R교과서라는 이름이 더 어울리는 까닭은 이 책이 모든 교과 내용을 담고 있기 때문일 것입니다. 벡터, 행렬, 데이터프레임과 같은 기본 객체부터 데이터를 핸들링 하는 방법, 함수형/객체지향 프로그래밍, 심지어는 성능 향상을 위한 병렬 처리와 프로파일링 등 지금까지 이런 폭넓은 개념을 다룬 책이 있을까라는 생각이 들 정도로 R 프로그래밍의 대부분을 다루고 있습니다. 그러면서도 내부적인 동작이나 활용성 높은 라이브러리에 대한 소개도 놓치지 않아 완독한다면 중~고급 사용자 까지 실력이 선형으로 증가할 수 있는 든든한 밑받침이 되어 줄 것입니다.

 

그리고 번역서의 경우 종종 번역가가 원서의 표현을 제대로 옮기지 못하거나 옮기면서 억지스러운 표현, 혹은 너무 자주 등장하는 번역투로 인해서 '차라리 원서를 보자'라는 생각이 들 때가 종종 있습니다.  하짐나 이 책은 번역의 품질 또한 높아서 처음에는 한국 저자분이 작성하신 책이라고 생각하고 읽다가 리뷰할 때가 되서야 번역서라는 것을 알게 되었을 정도로 자연스럽게 읽힙니다. 역자 분이 연구자이기 때문에 논문을 읽는 느낌도 드는 듯 한데, 개인적으로는 혼동을 주지 않으며 명확도가 높은 문체 덕분에 책의 내용을 빠르게 이해하는데 도움이 되었습니다. 


총평

 제가 주로 사용하는 파이썬 분야에서 이 책이 다루는 정도의 내용을 담고 있는 책은 아직 본적이 없습니다. 굳이 찾아보단면 jump to python + effective python + Fluent Python을 합친 내용이라고 생각하는데 당연하게도, 3권의 책을 모두 읽는 것이 한 권의 책을 보는 것 보다 더 넓은 범위를 다룰 것 입니다. 하지만 동일한 분야의 책을 여러 권 읽어보신 분은 느끼시겠지만 심화 내용을 다루는 책이더라도 앞부분에서 다른 기초 책에서 다루는 변수 설정하는 방법, 내장 함수 사용법 등을 포함하고 있어 건너뛰게 됩니다. 물론 앞부분 내용이 잘 기억나지 않는 독자들을 배려한 것이라는 건 알지만 볼때마다 혹시나 내가 모르는 내용이 있을까 하면서 읽어보고, 다른 책에서 봤던 내용을 넘기며 낭비되는 시간과 책 값이 아깝다라는 생각이 드는 것은 어쩔 수가 없습니다.  그런 면에서 이 책은 입문, 중급, 고급 수준의 책을 각각 보는 것 보다 통일성있고 중복된 내용도 적기 때문에 처음부터 공부해서 실력을 쌓아가기에도, 책을 레퍼런스 처럼 찾아서 편독 하기에도 좋습니다. 파이썬을 배우면서 왜 기초부터 심화까지 모두 다루는 책이 없을까 하며 갈증을 느꼈는데 R에서라도 이런 좋은 책이 나와서 다행이라고 생각합니다. 

 

 

 

P.S.

 이 책이 얼마나 많은 내용을 담고 있는지 와닿지 않을 분들을 위해서 추가적으로 설명을 드리자면, 저는 대학교 3학년 때 데이터 사이언스 과목에서 처음으로 R이라는 언어를 배웠습니다. 과목 자체가 실기보단 이론에 중점을 둔 과목이었기 때문에 R을 배울 때 촘촘한 커리큘럼과 알찬 강의자료를 통해 배우진 않았고 1년정도 독학으로 익히며 머신러닝 알고리즘을 구현하고 간단한 데이터 마이닝 텀프로젝트 등을 진행했습니다. 그 이후에는 python을 쓰다가 지금 다시 R을 잡았는데, 대학교 다니는 동안 배우고 사용한 것보다 이 책의 챕터 7까지가 더 많은 내용을 다루고 있었습니다.(그리고 이 책은 15챕터까지 있습니다.) 그 정도로 많은 내용을 다루고 있기에 볼만한 R 레퍼런스가 없는 것에 갈증을 느끼셨던 분들은 구매하시고 읽어보시는 것을 추천드립니다.

 

P.S.2

 개인적으로 이 책으로 스터디나 세미나를 해도 좋다고 생각합니다. 아마 앞으로 R을 시작할 건데 입문서가 어떤게 좋을까요 라는 질문이 들어온다면 이 책을 추천할 예정입니다.

 

 

 

R 교과서

데이터 분석, R로 시작하자!RStudio로 실습하면서 배우는 R 기초와 활용, 데이터 분석 기법!R은 통계 분야에서 가장 많이 사용되는 언어로, 데이터를 다룰 때 유연하게 사용할 수 있으며 오프 소스,

book.naver.com

 

 

본 리뷰는 길벗 출판사의 도서 지원으로 작성되었습니다.