데이터로 이야기하기
R과 Python을 활용한 애플리케이션과 함께

서문
이 책은 데이터를 통해 이야기를 전달하는 방법을 다룹니다. 여러분이 관찰한 데이터를 바탕으로 흥미로운 세상의 단면에 대한 지식을 쌓고, 이를 널리 공유할 수 있는 튼튼한 토대를 마련해 줄 것입니다. 모닥불 주위에 모여 앉아 이야기를 나누는 것은 인류와 사회의 발전에 중요한 역할을 해왔습니다 (Wiessner 2014). 그리고 오늘날, 데이터에 기반한 우리의 이야기는 수백만 명에게 영향을 미칠 수 있습니다.
이 책에서 우리는 데이터를 다방면으로 탐구하고, 조사하며, 주무르고 다듬어 궁극적으로 그 안에 담긴 의미를 파악하고자 합니다. 이 책의 구성과 내용은 바로 이러한 목표를 달성하기 위해 세심하게 선택되었습니다.
제가 박사 학위를 받은 대학의 모토는 naturam primum cognoscere rerum, 즉 “사물의 본질을 먼저 이해하라”입니다. 그러나 이 라틴어 문구는 원래 temporis aeterni quoniam, 즉 “영원한 시간을 위해”로 이어집니다. 우리는 이 두 가지 목적을 모두 추구할 것입니다. 따라서 이 책은 단편적인 분석을 넘어, 지속적이고 재현 가능한 지식을 구축할 수 있는 도구, 접근 방식, 그리고 워크플로를 익히는 데 중점을 둡니다.
이 책에서 다루는 데이터는 대개 사람과 관련되어 있습니다. 인류는 우리가 다루는 이야기의 핵심이며, 우리는 사회적, 문화적, 경제적 측면의 이야기를 풀어낼 것입니다. 특히, 이 책 전반에 걸쳐 사회 현상과 데이터 이면에 존재하는 불평등 문제에 주목하고자 합니다. 대부분의 데이터 분석은 세상을 있는 그대로 반영한다고 여겨지지만, 가장 취약한 계층은 흔히 이중고를 겪습니다. 현실에서 불이익을 받을 뿐만 아니라, 그 피해의 정도를 데이터로 정확하게 측정하기조차 어렵기 때문입니다. 따라서 데이터셋에 포함된 사람들의 정보를 존중하는 것 못지않게, 어떤 이유로 인해 데이터셋에서 체계적으로 배제된 사람들을 함께 고려하는 것이 중요합니다.
데이터는 대체로 특정한 상황이나 분야에 특화되어 있지만, 이를 이해하고 분석하는 접근 방식은 놀랍도록 비슷합니다. 또한, 오늘날 데이터 분석과 관련된 자원과 기회는 전 세계의 다양한 출처에서 점점 더 많이 쏟아지고 있습니다. 이에 따라 저는 이 책에서 여러 학문 분야와 세계 각지의 다양한 예시들을 폭넓게 활용했습니다.
어떤 발견이 진정한 지식으로 자리 잡으려면, 그 내용이 다른 사람들에게 명확하게 전달되고, 이해되며, 신뢰를 얻어야 합니다. 인류의 과학적, 경제적 진보는 항상 선대 연구자들의 성과를 발판 삼아 이루어졌으며, 이는 전임자들이 어떤 연구를 어떻게 수행했는지 후대가 완벽히 이해할 수 있었기에 가능한 일이었습니다. 마찬가지로, 우리가 세상에 기여할 새로운 지식을 만들어내고자 한다면, 다른 사람들이 우리의 연구 과정과 결과, 그리고 구체적인 수행 방법을 투명하게 이해할 수 있도록 해야 합니다. 바로 이러한 이유로, 이 책에서는 원활한 커뮤니케이션과 연구의 재현성을 특히 강조하고 엄격하게 다룰 것입니다.
정량적 연구의 품질을 다방면으로 향상시키는 것은 결코 쉽지 않은 과제이지만, 오늘날 우리가 반드시 직면해야 할 중요한 숙제입니다. 세상에는 이미 데이터가 넘쳐나지만, 이를 바탕으로 시대를 초월하는 지속 가능한 지식을 창출해내는 경우는 안타깝게도 매우 드뭅니다. 이 책이 그러한 현실을 조금이나마 더 나은 방향으로 변화시키는 데 보탬이 되기를 진심으로 바랍니다.
독자 및 예상 배경 지식
이 책의 독자는 학부 1학년 수준의 통계학 지식을 갖추고 있다고 가정합니다. 예를 들어, 회귀 분석을 한 번이라도 직접 실행해 본 경험이 있다면 충분합니다. 하지만 이 책은 특정 수준의 독자만을 대상으로 하지 않으며, 거의 모든 정량적 연구 과정에 두루 적용될 수 있는 핵심적인 내용을 다룹니다. 저는 학부, 대학원, 그리고 전문가 과정 등 다양한 수준에서 이 내용을 가르쳐 왔습니다. 각자의 상황과 필요는 다르겠지만, 이 책의 내용 중 적어도 일부분은 여러분에게 실질적인 도움이 될 것이라 확신합니다.
배움에 대한 열정과 관심은 사람을 상상 이상으로 멀리 나아가게 합니다. 그러한 열정이 있다면, 다른 부족한 점에 대해서는 너무 걱정하지 마십시오. 실제로 제가 가르친 가장 성공적인 학생들 중 상당수는 정량 분석이나 코딩에 대한 사전 지식이 전혀 없는 학생들이었습니다.
이 책은 방대한 내용을 다루지만, 각 측면을 극도로 깊이 있게 파고들지는 않습니다. 따라서 데이터 과학: 첫 번째 소개 (Timbers, Campbell, and Lee 2022), 데이터 과학을 위한 R (Wickham, Çetinkaya-Rundel, and Grolemund [2016] 2023), 통계 학습 입문 (James et al. [2013] 2021), 통계적 재고 (McElreath [2015] 2020)와 같이 분야별로 더 깊이 있는 전문 서적들을 훌륭하게 보완해 줍니다. 이러한 전문 서적들에 관심이 깊으신 분들에게도 이 책은 데이터 과학의 폭넓은 조망을 제공하는 훌륭한 시작점이 될 것입니다.
구성 및 내용
이 책은 여섯 부분으로 구성되어 있습니다: I) 기초, II) 커뮤니케이션, III) 수집, IV) 준비, V) 모델링, VI) 응용.
파트 I: 기초는 이 책으로 어떤 목표를 달성하고자 하는지, 그리고 왜 이 책을 읽어야 하는지에 대한 전반적인 개요를 제공하는 1 데이터로 이야기하기 으로 시작합니다. 이어서 2 소방 호스로 물 마시기 는 세 가지 실전 예제를 다룹니다. 이 예제들은 세부 사항에 얽매이지 않고, 이 책에서 권장하는 전체 워크플로(계획, 시뮬레이션, 수집, 모델링, 커뮤니케이션)를 독자가 먼저 경험해 볼 수 있도록 설계되었습니다. 처음부터 이 장의 모든 내용을 완벽히 이해하지 못하는 것은 당연한 일이니, 직접 코드를 입력하고 실행해 보며 차근차근 따라가 보시길 바랍니다. 만약 이 책에서 단 한 장만 읽을 시간이 있다면, 감히 이 장을 추천합니다. 3 재현 가능한 워크플로우 에서는 제가 강조하는 워크플로의 핵심, 즉 재현성을 달성하기 위한 도구들을 소개합니다. 여기에는 Quarto, R 프로젝트, Git 및 GitHub, 그리고 R의 실질적인 활용법 등이 포함됩니다.
파트 II: 커뮤니케이션은 텍스트 중심의 서면 커뮤니케이션과 정적(static) 커뮤니케이션을 다룹니다. 4 연구 보고서 작성하기 에서는 훌륭한 정량적 글쓰기가 갖추어야 할 특징들과, 명료하고 설득력 있는 정량적 연구 논문을 작성하는 방법을 구체적으로 설명합니다. 5 그래프, 표, 그리고 지도 에서는 그래프, 표, 지도 등을 활용하여 정보를 효과적으로 전달하는 정적 커뮤니케이션 기법들을 소개합니다.
파트 III: 수집은 복잡한 세상을 우리가 다룰 수 있는 데이터로 바꾸는 과정에 중점을 둡니다. 6 측정과 인구 조사, 그리고 표본 추출 에서는 측정의 개념을 시작으로, 데이터 접근 방식의 뼈대를 이루는 표본 추출(sampling)의 핵심 개념을 단계별로 살펴봅니다. 그러고 나서 인구 통계이나 기타 정부 통계와 같이 데이터 분석을 목적으로 깔끔하게 제공되는, 잘 문서화되고 미리 패키지화된 데이터셋들을 살펴봅니다. 7 API와 스크래핑, 그리고 파싱 에서는 API 활용, 데이터 스크래핑, PDF 문서에서의 데이터 추출, 광학 문자 인식(OCR) 기법 등을 다룹니다. 이러한 방법들은 데이터가 존재하긴 하지만 분석용 데이터셋 형태로 제공되지 않아 우리가 직접 수집하고 가공해야 할 때 유용합니다. 마지막으로 8 실험 및 설문 조사 에서는 데이터 수집을 위해 우리가 보다 적극적으로 개입해야 하는 상황들을 다룹니다. 예를 들어, 직접 실험을 설계하고 수행하거나, A/B 테스트를 실시하고 다양한 설문 조사를 진행하는 방법들을 배웁니다.
파트 IV: 준비는 가공되지 않은 원본 데이터를, 정보의 출처와 대상을 존중하면서 동시에 널리 공유하고 탐색할 수 있는 형태로 변환하는 방법을 다룹니다. 9 데이터 정제, 준비 및 검증 에서는 데이터를 정리하고 준비할 때 지켜야 할 주요 원칙들을 자세히 설명하고, 그에 따른 구체적인 실행 단계와 검증 방법들을 제시합니다. 10 저장 및 공유 에서는 R 데이터 패키지 제작과 파케이(Parquet) 파일 활용 등을 포함하여, 이렇게 생성된 데이터셋을 안전하게 저장하고 쉽게 검색하는 방법에 중점을 둡니다. 나아가 이러한 데이터셋을 널리 배포할 때, 데이터에 포함된 사람들을 존중하기 위해 고려해야 할 윤리적 사항과 구체적인 조치들을 설명합니다.
파트 V: 모델링은 11 탐색적 데이터 분석 의 탐색적 데이터 분석(EDA)으로 시작합니다. EDA는 데이터셋의 특성을 깊이 이해하는 과정으로, 비록 최종 결과물에는 드러나지 않을지라도 그 자체로 매우 중요한 목적을 지닙니다. 12 선형 모델 에서는 데이터를 이해하기 위한 선형 모델의 활용법을 소개합니다. 이어서 13 일반화 선형 모델 에서는 로지스틱 회귀, 푸아송 회귀, 음이항 회귀를 포함한 일반화 선형 모델(GLM)을 다루고, 다층 모델링(multilevel modeling)의 개념도 함께 소개합니다.
파트 VI: 응용은 모델링 기법의 세 가지 주요 응용 사례를 제시합니다. 15 관찰 데이터에서 인과 관계 에서는 이중차분법(DID), 회귀 불연속(RDD), 도구 변수(IV) 등의 방법론을 활용하여 관찰 데이터로부터 인과 관계를 추론하는 데 중점을 둡니다. 16 사후 층화 다단계 회귀 (MRP) 에서는 이미 알려진 표본 편향을 통계적 모델로 바로잡는 방법인 사후 계층화 다층 회귀(MRP)를 소개합니다. 17 데이터로서의 텍스트 에서는 텍스트를 하나의 데이터로 다루고 분석하는 방법을 알아봅니다.
18 결론 에서는 이 책을 마무리하며, 아직 해결되지 않은 몇 가지 흥미로운 과제들에 대해 논의하고 독자들이 다음으로 나아갈 방향을 제안합니다.
온라인 부록은 페이지 크기 제약으로 인해 다루기 어렵거나 인쇄된 책에 비해 더 자주 업데이트해야 할 가능성이 있는 중요한 측면을 제공합니다. Online Appendix A — R 필수 사항 는 이 책에서 사용되는 통계 프로그래밍 언어인 R의 필수 작업을 설명합니다. 참고 자료 장이 될 수 있으며, 일부 학생들은 책의 나머지 부분을 진행하면서 이 장으로 돌아오기도 합니다. Online Appendix D — 데이터셋 는 평가에 유용할 수 있는 데이터셋 목록을 제공합니다. 이 책의 핵심은 Quarto를 중심으로 하지만, 그 전신인 R Markdown은 아직 사용 중단되지 않았으며 많은 자료가 있습니다. 따라서 Online Appendix E — R 마크다운(R Markdown) 은 3 재현 가능한 워크플로우 의 Quarto 관련 측면에 대한 R Markdown 동등물을 포함합니다. 일련의 논문이 Online Appendix F — 논문 에 포함되어 있습니다. 이 논문들을 작성하면 관심 있는 주제에 대한 독창적인 연구를 수행하게 될 것입니다. 개방형 연구가 여러분에게 생소할 수 있지만, 자신의 질문을 개발하고, 양적 방법을 사용하여 탐색하고, 발견한 내용을 전달할 수 있는 정도가 이 책의 성공을 측정하는 척도입니다. Online Appendix C — SQL 필수 은 SQL 필수 사항에 대한 간략한 개요를 제공합니다. Online Appendix G — 프로덕션(Production) 및 배포 은 모델 추정치 및 예측을 더 널리 사용할 수 있도록 하는 방법을 다룹니다.
교육학적 접근 및 주요 특징
여러분은 직접 소매를 걷어붙이고 작업에 뛰어들어야 합니다. 단순히 눈으로 읽는 것에 그치지 않고, 자료와 코드를 직접 적극적으로 파헤쳐야 합니다. 스티븐 킹(King (2000))은 “아마추어는 영감이 떠오르기를 기다리지만, 프로는 일단 책상에 앉아 일을 시작한다”고 말했습니다. 이 책을 수동적인 태도로 읽지 마십시오. 이 책에서 저의 역할은 다음의 리처드 해밍(Hamming ([1997] 2020))의 말에 가장 잘 요약되어 있습니다:
저는 말하자면 코치일 뿐입니다. 제가 여러분을 대신해 트랙을 달릴 수는 없습니다. 기껏해야 달리는 자세를 논의하고 비판할 수 있을 뿐입니다. 육상 훈련 코스가 진정으로 효과를 발휘하려면, 여러분 스스로 트랙을 달려야 한다는 것을 잘 알고 계실 겁니다. 그러므로 이 책에서 듣고 읽는 내용을 깊이 반추하고 소화해야 합니다. 그래야만 이 책이 여러분을 긍정적인 방향으로 변화시킬 수 있습니다. 그리고 그것이 명백한 목표여야만 합니다…
이 책은 밀도 높은 12주 입문 과정을 염두에 두고 구성되었습니다. 모든 독자가 빈틈없이 숙달할 수 있도록 핵심 개념을 단단히 다지는 동시에, 심화 학습을 원하는 독자를 위해 충분한 도전 과제를 제공합니다. 일반적인 커리큘럼이라면 13 일반화 선형 모델 까지의 내용을 학습한 후, 나머지 장들 중에서 특별히 관심 있는 주제를 골라 다루게 될 것입니다. 물론 이러한 구성은 학생들의 배경 지식과 관심사에 따라 유연하게 조정할 수 있습니다.
2 소방 호스로 물 마시기 장을 마치면, 데이터를 활용해 설득력 있는 이야기를 완성하는 전체 워크플로(계획, 시뮬레이션, 수집, 모델링, 커뮤니케이션)를 파악하게 될 것입니다. 이어지는 각 장에서는 이 워크플로의 세부 단계에 깊이를 더해, 여러분이 점차 정교하고 신뢰할 수 있는 방식으로 자신만의 진짜 이야기를 만들어갈 수 있도록 안내합니다. 이 워크플로에는 원활한 커뮤니케이션, 연구 윤리, 재현성, 연구 질문 설정, 데이터 수집 및 정리, 데이터 보호 및 배포, 탐색적 데이터 분석(EDA), 다양한 통계 모델링 등 학계와 산업계를 막론하고 필수적으로 요구되는 핵심 기술들이 총망라되어 있습니다.
이 책의 또 다른 큰 특징은 윤리 및 불평등 문제가 특정 장에만 국한되지 않고 책 전체에 깊숙이 스며들어 있다는 점입니다. 이 문제들은 매우 중요하지만 그 진정한 가치를 단번에 깨닫기는 쉽지 않기에, 각 주제와 맥락에 맞게 유기적으로 통합하여 구성했습니다.
나아가 이 책은 독자들이 잠재적인 고용주에게 당당히 제시할 수 있는 포트폴리오를 구축할 수 있도록 세심하게 설계되었습니다. 산업계 진출을 목표로 한다면, 아마 실무 포트폴리오는 가장 강력한 무기가 될 것입니다. Robinson and Nolis (2020) 은 포트폴리오를 ’여러분의 실제 역량을 보여주는 프로젝트의 모음’이라고 정의하며, 이것이 성공적인 구직 활동에 결정적인 도움을 줄 수 있다고 강조합니다.
소설 마지막 사무라이 (DeWitt 2000, 326)의 등장인물은 다음과 같이 말합니다:
[학자는] 책의 어느 한 단어만 보더라도, 그 단어가 쓰인 다른 구절들을 즉시 머릿속에 떠올릴 수 있어야 한다. … [그래서] 텍스트란 마치 거대한 빙산과 같다. 수면 위로 드러난 빙산의 일각이 눈에 보이는 단어라면, 그 아래에는 교차 참조로 단단히 얼어붙은 거대한 지식의 덩어리가 숨겨져 있어야 한다.
이와 마찬가지로, 이 책은 단순히 독립적인 지침을 전달하는 데 그치지 않고, 전문성을 갖추는 데 필수적인 튼튼한 지식의 뼈대를 세우도록 돕습니다. 어떤 장도 그 자체로 모든 결론을 내리지 않으며, 항상 다른 연구와 유기적으로 연결되도록 서술되었습니다.
강의실에서 이 책을 활용하는 방법은 무궁무진합니다. 전통적인 방식의 강의도 효과적이지만, 학생들이 본 수업에 앞서 해당 장을 미리 읽고 오게 할 수 있다면(주간 퀴즈나 중간고사 등으로 동기를 부여할 수 있습니다) 수업 시간을 조별 프로젝트와 심도 있는 토론으로 채우는, 훨씬 생동감 있는 수업을 만들 수 있습니다. 매주 2~4명씩 무작위로 팀을 구성하여 최대한 새로운 사람들과 협업할 기회를 줍니다. 그런 다음 ‘생각-짝-공유(Think-Pair-Share)’ 방식 (Lyman 1981)을 활용해, 각자 문제를 먼저 풀어보고 그룹 내에서 서로의 답을 비교한 뒤, 최종적으로 도출된 팀의 의견을 반 전체와 공유하도록 이끄는 것이 좋습니다.
학습 시점과 범위의 측면에서 보면, 파트 I ‘기초’ 부분만 제대로 숙지한다면 이후 이어지는 장들은 비교적 자유롭게, 순서나 필요에 따라 독립적으로 학습할 수 있습니다. 특히 첫 번째 소논문 과제는 학생들에게 매우 중요한 경험이므로, 학생들이 자신의 작업에 대해 충분히 피드백을 받고 다음 과제에 적용할 수 있도록 신속하게 검토하여 돌려주는 것이 핵심입니다.
각 장의 주요 구성은 다음과 같습니다:
- 필수 자료 목록: 해당 장의 본문을 본격적으로 시작하기 전에 반드시 읽어 두어야 할 중요한 단서들을 제시합니다. 다시 강조하지만, 여기에 나열된 자료들을 먼저 일독한 후 다시 이 책으로 돌아오는 것이 원칙입니다. 아울러 각 장에는 주제를 깊이 파고들 수 있는 다양한 추천 문헌도 꼼꼼히 수록되어 있습니다. 특정한 주제가 흥미를 끈다면, 그 문헌들을 든든한 출발점 삼아 탐구를 시작하시기 바랍니다.
- 핵심 개념 및 기술 요약: 해당 장을 통해 배양하게 될 핵심 역량과 습득 지식을 요약합니다. 각종 도구와 기술을 직접 다루는 장에는 해당 과정에 동원되는 소프트웨어와 다양한 패키지들의 목록도 함께 포함했습니다. 이 두 목록은 일종의 학습 체크리스트 역할을 하므로, 해당 장을 마친 뒤에는 반드시 돌아와 본인이 모든 내용을 완벽히 이해했는지 확인해야 합니다.
- 연습: 이 코너는 독자에게 책 앞부분에서 배운 워크플로를 짧은 시나리오에 적용하여 차근차근 점검하도록 유도합니다. 한 문제를 푸는 데 대개 15~30분쯤 걸릴 것입니다. 세계적인 바이올리니스트 힐러리 한(Hilary Hahn)은 틈날 때마다 스케일 훈련 같은 기초 연습을 하는 자신의 모습을 공개적으로 공유하곤 합니다. 이처럼 꾸준하고 성실한 연습이야말로 전문가가 되는 지름길이며, ‘연습’ 코너 역시 그러한 훈련 과정을 돕기 위해 세심하게 고안되었습니다.
- 퀴즈: 본문을 다 읽은 뒤 내용에 대한 이해도를 확인해 볼 수 있도록 여러 퀴즈 질문을 마련해 두었습니다. 해당 장을 완전히 마쳤다면 퀴즈의 답안을 직접 써 보며 지식의 빈틈을 스스로 메워 보시기 바랍니다. 답변 가이드는 요청 시 제공됩니다.
- 과제: 본문의 내용과 자료를 직접, 깊이 다루도록 독려하기 위한 심화 질문입니다. 수업 시간에는 이러한 문제에 대한 해답과 접근법을 토대로 함께 토론하는 조별 모임을 갖는 것도 추천합니다.
일부 장에는 다음과 같은 심화 내용이 덧붙어 있습니다:
- “오, 우리가 그 데이터에 대해 양질의 데이터를 가지고 있다고 생각하셨군요!”: 완벽하고 오류가 없는 깔끔한 데이터가 으레 있을 것이라는 막연한 기대와 달리, 실제 현실은 그와 거리가 멀다는 것을 보여주는 특정한 상황을 중점적으로 다룹니다.
- “거인의 어깨 위에 서서”: 통계학 및 데이터 과학 분야의 지적 기반을 다진 위대한 연구자들의 업적을 조명합니다.
활용 소프트웨어 소개 및 표기 규칙
이 책은 R(R Core Team 2024)이라는 소프트웨어를 주된 도구로 삼아 출발합니다. R을 선택한 이유는 무엇보다도 오픈 소스 언어로서 널리 쓰일 뿐만 아니라, 웬만한 분석 워크플로를 모두 포괄할 만큼 범용적이면서도 특정 기능들이 상당히 정교하게 발달해 있기 때문입니다. 저는 독자 여러분이 이전에 R을 한 번도 사용해 본 적이 없다고 가정하고 내용을 전개합니다. R을 주력 언어로 택한 또 다른 중요한 이유는 훌륭한 R 사용자 커뮤니티의 존재입니다. 이 커뮤니티는 특히 초보자를 따뜻하게 환영하는 편이며, 처음 R을 접하는 분들을 위해 친절하게 보완해 줄 수 있는 훌륭한 자료들이 무척 풍부합니다.
새로운 프로그래밍 언어를 처음 배운다면, R은 훌륭한 출발점이 될 것입니다. Online Appendix A — R 필수 사항 챕터를 꼭 참고해 보시기 바랍니다.
R에 어느 정도 익숙해졌다면, 또 다른 훌륭한 오픈 소스 언어인 파이썬(Python)도 함께 배워 보길 권합니다. 파이썬은 처음 프로그래밍을 시작하는 사람에게는 R보다 진입 장벽이 약간 높게 느껴질 수 있지만, 실제 산업계에서는 가장 폭넓게 쓰이는 언어입니다. 저는 필요하고 합리적이라고 판단되는 부분에서는 파이썬도 주저 없이 사용할 것입니다. 이를 통해 여러분은 R과 파이썬이라는 두 가지 훌륭한 도구에 모두 자연스럽게 친숙해질 수 있을 것입니다.
- R과 RStudio를 여러분의 컴퓨터에 다운로드하세요. R은 여기에서, RStudio Desktop은 여기에서 각각 무료로 다운로드하실 수 있습니다. 문서를 작성하게 해 줄 Quarto는 여기에서 받으시면 됩니다.
- 클라우드 환경에서 R을 실행하기 위해, Posit Cloud에 접속하여 계정을 만드세요.
- 여기에서 VS Code를 무료로 다운로드하세요.
- Google Colab에 접속하여 무료 계정을 생성하세요.
본문에서 외부 패키지 이름은 tidyverse와 같이 폰트 모노스페이스(monospace) 글꼴로 표시합니다. 함수명 또한 filter()처럼 모노스페이스로 쓰되, 뒤에 괄호를 붙여 패키지와 구분합니다.
저자 소개
저는 토론토 대학교 정보학부와 통계학과에 공동 임용된 조교수로 재직 중인 로한 알렉산더(Rohan Alexander)입니다. 또한 캐나다 통계 과학 연구소(CANSSI) 온타리오 지부의 부소장, 매시 칼리지(Massey College)의 선임 연구원, 슈워츠 라이스만(Schwartz Reisman) 기술 및 사회 연구소의 교수 연구원(Faculty Fellow), 그리고 데이터 과학 연구소 산하 재현성(Reproducibility) 주제별 프로그램의 공동 책임자를 겸임하고 있습니다. 저는 호주 국립 대학교(ANU)에서 존 탕(위원장), 마르틴 마리오티, 팀 해튼, 자크 워드 교수님의 지도하에 경제사 부문을 연구하여 경제학 박사 학위를 받았습니다.
현재 제 연구는 데이터 과학의 과정이 더욱 신뢰받을 수 있도록 견고한 워크플로를 개발하는 것에 중점을 두고 있습니다. 특히 데이터 과학 분석 과정 내에서 코드 ’테스트’가 수행하는 역할에 깊은 관심을 가지고 있습니다.
가르치는 일은 저에게 큰 즐거움입니다. 다양한 학문적 배경을 가진 학생들이 데이터를 활용하여 세상에 설득력 있는 이야기를 건넬 수 있도록 돕는 것이 제 가장 큰 목표이기도 합니다. 저는 단순히 여러 분야에 통계적 기법을 능숙하게 적용하는 것뿐만 아니라, 그 방법론적 한계를 명확히 인지하고 자신이 다루는 작업의 넓은 사회적 맥락을 깊이 고찰할 줄 아는 인재를 양성하고자 노력합니다. 현재 토론토 대학교에서 학부 및 대학원 과정 모두에서 학생들을 가르치고 있으며, RStudio에서 공식 인증한 Tidyverse 강사이기도 합니다.
감사
많은 분들이 이 책을 개발하는 데 도움이 된 코드, 데이터, 예제, 지침, 기회, 생각, 시간을 아낌없이 주셨습니다.
데이비드 그럽스, 커티스 힐, 로빈 로이드-스타크스, 그리고 테일러 앤 프랜시스 팀에게 이 책을 편집하고 출판하며 귀중한 지침과 지원을 제공해 주셔서 감사합니다. 이 책을 철저히 편집해 준 에리카 올로프에게 감사합니다. 이 책의 초기 초안을 철저히 검토하고 개선에 도움이 되는 상세한 피드백을 제공해 준 이사벨라 게멘트에게 감사합니다.
이 책의 모든 단어를 검토하고 많은 부분을 개선하며, 이 책에 다루어진 많은 내용에 대한 저의 생각을 날카롭게 하는 데 도움을 준 애니 콜린스에게 감사합니다. 가르치는 즐거움 중 하나는 애니와 같이 재능 있는 사람들과 그들의 경력을 시작할 때 함께 일할 기회를 얻는 것입니다.
이 책의 초기 계획에 대해 상세한 의견을 제공해 준 에밀리 리더러에게 감사합니다. 그녀는 초안이 작성된 후 원고로 돌아와 세부적으로 검토했습니다. 그녀의 사려 깊은 의견은 이 책을 크게 개선했습니다. 더 나아가 그녀의 작업은 이 책의 많은 내용에 대한 저의 생각을 바꾸었습니다.
저는 이 책의 전체 원고를 읽고 수많은 개선안을 제안해 준 여러 검토자들을 만난 행운을 누렸습니다. 그들은 두세 번, 때로는 그 이상 원고를 꼼꼼히 살피며 기대 이상의 통찰을 나누어 주었고, 이 책의 완성도를 높이는 데 결정적인 역할을 했습니다. 알버트 랩(Albert Rapp), 알렉스 헤이즈(Alex Hayes), 알렉스 루스콤(Alex Luscombe - “오, 당신은…” 항목 아이디어 제공), 아리엘 문도(Ariel Mundo), 벤자민 하이브-케인스(Benjamin Haibe-Kains), 댄 라이언(Dan Ryan), 에릭 드라이스데일(Erik Drysdale), 플로렌스 발레-뒤부아(Florence Vallée-Dubois), 잭 베일리(Jack Bailey), 재 해트릭-심퍼스(Jae Hattrick-Simpers), 존 칸(John Kahn), 조나단 킨(Jonathan Keane - 파케이 파일 관련 전문 지식 공유), 로렌 케네디(Lauren Kennedy - MRP에 대한 깊이 있는 코드와 데이터 공유), 리암 웰시(Liam Welsh), 리자 볼튼(Lisa Bolton - 교수법에 대한 영감 제공), 루이스 코레이아(Luis Correia), 맷 라토(Matt Ratto), 마티아스 베르거(Matthias Berger), 마이클 문(Michael Moon), 로베르토 렌티니(Roberto Lentini), 라이언 브릭스(Ryan Briggs), 그리고 테일러 라이트(Taylor Wright)에게 깊은 감사를 드립니다.
많은 분들이 구체적인 제안을 해주셔서 많은 것이 개선되었습니다. 이 모든 분들은 이 책이 기반으로 하는 오픈 소스 프로그래밍 언어 커뮤니티를 특징짓는 관대함의 정신에 기여합니다. 이 모든 분들께 감사드립니다.
- 아 마푸즈는 포아송 회귀를 다루는 것이 중요하다고 깨닫게 해주었습니다.
- 아론 밀러는 FINER 프레임워크를 제안했습니다.
- 앨리슨 프레스메인즈 힐은 워드뱅크를 제안했습니다.
- 크리스 워쇼는 민주주의 기금 유권자 연구 그룹 설문조사 데이터를 제안했습니다.
- 크리스티나 웨이는 많은 코드 오류를 지적했습니다.
- 클레어 배터실은 글쓰기에 대한 많은 책을 추천해 주었습니다.
- 엘라 케이는 Quarto로 전환할 것을 제안하고 정당하게 주장했습니다.
- 파리아 칸다커는 “R 필수” 장이 된 것을 제안했습니다.
- 하림 나비드는 자신의 산업 경험을 아낌없이 공유했습니다.
- 히스 프리슨은 토론토 노숙자 데이터에 대한 도움을 주었습니다.
- 제시카 그론스벨은 통계 실습에 대한 귀중한 제안을 해주었습니다.
- 켈리 치우는 텍스트-데이터의 중요성을 강조했습니다.
- 레슬리 루트는 “오, 우리가 그 데이터에 대해 좋은 데이터를 가지고 있다고 생각하는군요!”라는 아이디어를 내놓았습니다.
- 마이클 청은 EDA에 대한 저의 접근 방식을 형성했습니다.
- 마이클 도넬리, 피터 헵번, 레오 레이몬드-벨질은 제가 몰랐던 정치학, 사회학,통계학의 고전 논문에 대한 정보를 제공했습니다.
- 닉 호튼은 11 탐색적 데이터 분석 의 해들리 위컴 비디오를 제안했습니다.
- 폴 호지츠는 R 패키지를 만드는 방법을 가르쳐 주었고 이 책의 표지 그림을 만들었습니다.
- 라두 크라이우는 샘플링이 적절한 위치를 차지하도록 했습니다.
- 샤를라 겔판드는 R을 사용하는 방법에 대한 저의 접근 방식을 옹호했습니다.
- 토마스 윌리엄 로젠탈은 Shiny의 잠재력을 깨닫게 해주었습니다.
- 톰 카르도소와 제인 슈워츠는 언론인들이 수집한 훌륭한 데이터 소스였습니다.
- 얀보 탕은 낸시 리드의 “거인의 어깨” 항목을 도왔습니다.
- 마지막으로 크리스 매디슨과 마이아 발린트는 마지막 시를 제안했습니다.
저의 박사 학위 지도 교수님인 존 탕, 마르틴 마리오티, 팀 해튼, 자크 워드에게 감사드립니다. 그들은 제가 관심 있는 지적 공간을 탐색할 자유를 주었고, 그러한 관심사를 추구할 수 있도록 지원했으며, 모든 것이 구체적인 결과로 이어지도록 지도해 주었습니다. 그 시절에 배운 것이 이 책의 토대가 되었습니다.
이 책은 크리스 베일, 스콧 커닝햄, 앤드류 헤이스(이 책이 나오기 훨씬 전에 이 책과 같은 이름의 강의를 독립적으로 가르쳤음), 리사 렌드웨이, 그랜트 맥더모트, 네이선 마티아스, 데이비드 밈노, 에드 루빈을 포함하여 온라인에서 무료로 제공되는 다른 사람들의 노트와 교육 자료로부터 큰 도움을 받았습니다. 이 모든 분들께 감사드립니다. 학자들이 자료를 온라인에서 무료로 제공하는 변화된 규범은 훌륭한 것이며, 여기에서 제공되는 이 책의 무료 온라인 버전이 기여하기를 바랍니다.
일부 평가 항목을 개발하는 데 도움을 준 사만다-조 카에타노에게 감사합니다. 그리고 루브릭의 일부 측면을 적용할 수 있도록 허락해 준 리사 롬키와 앨런 청에게도 감사합니다. 4 연구 보고서 작성하기 튜토리얼의 일부 측면의 촉매제는 McPhee (2017, 186)와 첼시 팔렛-펠레리티였습니다. “대화형 커뮤니케이션” 튜토리얼의 아이디어는 마우리시오 바르가스 세풀베다(“파차”)와 앤드류 휘트비의 작업이었습니다.
다음 분들의 수정에 감사드립니다: 에이미 패로우, 아르쉬 라칸팔, 세자르 빌라레알 구즈만, 클로이 티어스타인, 핀 코롤-오드와이어, 플라비아 로페즈, 그레고리 파워, 홍 시, 제이든 정, 존 헤이즈, 조이스 쉬안, 로라 클라인, 로레나 알마라즈 데 라 가르자, 매튜 로버트슨, 미카엘라 드루일라드, 모우니카 타남, 림 알라사디, 롭 짐머만, 타예자 치쿰비리케, 위즈단 타리크, 양 우 그리고 한예원.
켈리 라이온스는 지원, 지도, 멘토링, 그리고 우정을 제공했습니다. 그녀는 매일 학자가 어떤 모습이어야 하는지, 그리고 더 나아가 한 사람으로서 어떤 사람이 되기를 열망해야 하는지를 보여줍니다.
그렉 윌슨은 가르침에 대해 생각할 구조를 제공하고 “스케일” 스타일 연습을 제안했습니다. 그는 이 책의 촉매제였으며, 초안에 대한 유용한 의견을 제공했습니다. 그는 매일 지적 공동체에 기여하는 방법을 보여줍니다.
팬데믹 기간 동안 첫째, 그리고 둘째 아이를 돌보며 이 책을 쓸 수 있도록 해준 엘르 코테에게 감사합니다.
2021년 크리스마스 현재 이 책은 부분적으로 완성된 노트들의 흩어진 모음이었습니다. 모든 것을 내려놓고 두 달 동안 지구 반대편에서 건너와 모든 것을 다시 쓰고 응집력 있는 초안을 만들 기회를 준 엄마와 아빠에게 감사합니다.
마리야 타플라가와 ANU 호주 정치 연구 센터(정치 및 국제 관계 학부)에 캔버라에서 2주간의 “글쓰기 휴양” 자금을 지원해 주셔서 감사합니다.
마지막으로 제 아내 모니카 알렉산더(Monica Alexander)에게 무한한 사랑과 감사를 전합니다. 당신이 아니었다면 이 책을 결코 집필하지 못했을 것입니다. 아니, 책을 쓴다는 것 자체가 가능하리라고 상상조차 못했을 것입니다. 이 책을 빛내는 아이디어 대부분은 사실 당신의 머리에서 나왔으며, 설령 제 아이디어라 해도 당신이 몇 번이고 다듬어 준 덕분에 훨씬 훌륭해졌습니다. 이 책의 뼈대를 다지는 데 측량할 수 없을 만큼 큰 도움을 주었고(제가 예전에 도서관에서 R로 데이터의 특정 행을 추출하는 방법을 몰라 헤맬 때, 몇 번이나 친절하게 가르쳐 주었던 당신을 아직도 생생히 기억합니다!), 제가 마음 놓고 집필에 전념할 수 있도록 세심하게 시간을 배려해 주었습니다. 어제까지만 해도 완벽해 보였던 글을 끊임없이 뜯어고쳐야 하는 고된 집필 과정에서 아낌없는 격려를 보내준 것도, 이 원고 전체를 몇 번이고 정독해 준 것도 바로 당신입니다. 지칠 때마다 완벽한 타이밍에 나타나 커피나 칵테일을 건네주고, 우리 두 아이를 정성껏 돌보아 준 것, 그리고 그 외에도 일일이 나열하기 벅찰 만큼 많은 일들을 기꺼이 도와준 당신에게 진심으로 고마움을 전합니다.
이 책과 관련된 내용으로 저에게 의견이나 질문이 있으시다면 언제든 rohan.alexander@utoronto.ca 로 편히 메일 주시기 바랍니다.
로한 알렉산더 캐나다 토론토 2023년 5월