-
-
혼자 공부하는 R 데이터 분석 - 1:1 과외하듯 배우는 데이터 분석 자습서 ㅣ 혼자 공부하는 시리즈
강전희.엄동란 지음 / 한빛미디어 / 2022년 1월
평점 :

“출판사로부터 책을 제공받아 작성하였습니다.”
작년말에 리뷰한 “혼자 공부하는 SQL”에
이어 2번째로 접하게 된 한빛미디어의 혼공 시리즈 책에 대한 서평이다.
이 책의 장점은 앞부분의 저자 인터뷰 부분에 나와 있는 것처럼 통계도 프로그래밍도 익숙하지 않은 독자들을 대상으로
R 스튜디오라는 통합개발도구를 사용하여 R언어로 기본적인
데이터 분석과 시각화를 할 수 있게 해준다는 점이다. 기본적인 사용법에서 그치지 않고 뒷부분에서 공공데이터
포털 데이터 등 주위에서 쉽게 구할 수 있는 데이터세트를 이용해서 4개의 프로젝트를 직접 따라해 볼
수 있게 한다. 각각의 프로젝트는 본격적으로 통계나 머신러닝을 이용해서 가설을 검정하거나 분류, 예측 등을 하는 내용은 아니지만, 주제선정, 데이터수집, 데이터 가공, 분석, 결론 도출까지의 과정을 경험할 수 있게 구성되어 있다.
반면, 이 책이 목적하는 바와 같이 초보자가 스스로 학습해서 R에 익숙해지도록 하는데는 충분하지만, 중,고급 통계와 여러 머신러닝 기법 등에 대해서는 거의 다루고 있지 않아 좀 더 심도있는 데이터 분석을 하고자 하는
독자들이라면 이 책을 통해 R에 대한 기본을 다진 후 별도의 통계분석과 머신러닝에 대한 내용을 다루는
책을 볼 필요가 있을 것같다는 생각이 든다. “좀 더 알아보기”코너에서
회귀분석을 간략하게 다루고, 뒷 부분 프로젝트중 “서울시
지역별 미세먼지 농도 차이 비교하기”에서 두 평균간 차이를 검정하기 위해 수행되는 등분산 분석을 위한
F-검정과 t-검정과 더 나아가 세 개 이상의 집단 간 평균차이
검정을 위한 분산분석을 간략하게 다루기는 한다.
이 책에서 마음에 들었던 건 R 스튜디오에 대해 상세한 내용이다. 다른 책들에서는 R과 R스튜디오의
설치 과정 외에는 자세한 설명이 없어 아쉬웠는데, R스튜디오의 각 기능을 비교적 상세하게 다루고 있어, R 스튜디오를 사용하고 있던 사용자에게도 더 잘 사용할 수 있는 정보를 제공하고 있다.
Script영역, Console영역, Environment영역, Files영역에 대한 기본적 설명에 추가로
각 영역별 위치한 탭에 대해서도 각각 설명하고 있다. Console영역에 기본 선택되어 있는 Console탭, Terminal탭,
Jobs탭의 역할에 대해 각각 기술하고 있다.
R스튜디오에서 도움말을 원활하게 사용하기 위해 함수명이 정확하게 기억나지
않을 때 일부 함수명을 통해 원하는 결과를 얻는 팁을 제공하기도 한다. print()함수를 사용하려고
하는데 정확한 명칭이 기억나지 않아 help(prin)이라고 입력했을 때, ??prin을 실행해 보라는 안내 메시지를 통해 도출된 결과 도움말 페이지에서 유사한 함수를 찾아 활용할 수
있다고 예시를 들고 있다.

혼자 공부하면서 발생 가능한 여러 상황에 대해서도 미리 대처할 수 있도록 세심하게 배려하고 있다. “좀 더 알아보기”라는 코너를 통해 입문자가 주로 하는 실수 중심으로
코드 작성시 주의할 점 네 가지를 알려주는 부분 등이 그러하다. 첫째,
변수나 객체를 기반으로 함수를 실행할 때 객체가 있는지 확인하고, 둘째, 괄호나 따옴표가 쌍을 이루는지 확인하고, 셋째, 특정 패키지의 함수를 사용할 때 패키지를 로드했는지 확인하고, 넷째, 결과에서 Warning 또는 Error가
났을 경우에는 잘 읽어봐야 한다고 조언하고 있다. 당연히 확인했어야 할 내용을 다룬다고 볼 수도 있지만, 개인적인 경험상 언급한 상황과 같은 오류를 바로 찾지 못 해 시간을 허비한 경우가 꽤 있어 입문자에게 충분히
도움이 될 것이라는 생각이 든다.

패키지 함수 사용시 발생할 수 있는 오류에 대해서도 미리 알려주어 적절하게 대응할 수 있게 한다. dplyr 패키지의 select() 함수 사용시 unused arguments() 오류 메시지가 나타난다면 이는 다른 패키지에 포함된 select() 함수가 사용되었기 때문이라고 원인을 알려주고, 대응방법으로
:: 연산자를 사용해서 dplyr::select(mtcars, am,
gaer) 형태로 패키지명을 함께 작성하면 됨을 알려준다.
R스튜디오에서 우측하단 Plots 패널에
그래프를 생성한 후에 Plots 패널의 내용이 갱신되려면 새로운 그래프를 생성해야 했었는데, 작성한 그래프를 지울 때 plot.new() 함수를 이용하면 된다는
팁도 별거 아닌 것 같지만 몰랐던 내용이라 도움이 될 것같다.
7장. 프로젝트로 실력 다지기에서는 4가지 미니 프로젝트를 통해 배운 내용을 복습하고 활용할 수 있게 한다. 본격적인
데이터 분석을 통해 가설을 검정하거나 결과를 예측, 또는 분류하는 등의 내용은 아니다. 주위에서 쉽게 접할 수 있는 사회적 상황이나 트랜드를 데이터를 통해서 실제로 그러한지를 살펴보는 내용이긴 하지만, 주제 선정, 데이터 수집 및 가공,
분석, 결과 도출의 전반적인 과정을 경험해 볼 수 있도록 구성되어 있다.
그 중에서 “해외 입국자 추이 확인하기”는 관광지식정보시스템
투어고 페이지의 2020년 월별 국적별 입국 데이터를 다운로드받아서 데이터 가공 및 분석을 통해 코로나19가 발생한 2020년 해외 입국자 수에 얼마나 변화가 있었는지를
데이터를 통해 명확하게 보여주고 있다. 그런 과정중에 reshape2
패키지의 melt()함수를 통해 데이터를 재구조화하고,
ggplot2 패키지의 그래픽 함수를 이용해서 월별 국적별 입국자 수 추이를 시각화함으로써 학습한 내용을 복습하는 효과도 있다.


마지막 장에서는 기초적인 내용만 다루고 있기는 하지만, R마크다운으로 보고서를 작성해서 RPubs라는 공유 서비스에 배포하는 절차, 샤이니로 인터랙티브 웹
앱을 만들어서 shinyapps.io 서비스로 외부에 공개하는 절차도 다루고 있어 R을 활용해 할 수 있는 전반적인 내용을 소개하려고 하고 있어 R을
전반적으로 익히고 간단하게 활용하려고 하는 혼자 공부하는 독자들에게 좋은 길잡이가 될 것이라고 생각한다.