본문 바로가기
R

[PoliscieR] 정치학과에서 R로 연구하기

by 간비상벨 2021. 1. 31.
반응형

정치학과에서 다시 숫자를, 그리고 프로그래밍을 하게 될 줄은...

안녕하세요, 이 게시판은 R meets Political Science라는 이름 그대로 정치학 분야에서 R을 활용해서 정량적인 연구를 하며 제가 겪었던 여러 경험들(대부분이 시행착오겠죠?)과 그 결과로 현재 주로 사용하는 분석 방법과 기법들을 정리하는 데 목적이 있습니다.

Photo by Marco Oriolesi on Unsplash

간단하게 제 경험을 이야기하자면 (아마 일반화되기는 힘든 경험이겠지만), 저는 한국외국어대학교 정치외교학과에서 석사까지 마무리하고 현재 미국의 University of South Carolina 정치학과에 박사과정에 입학했습니다. 그런데 사실 한국외국어대학교 정치외교학과에 들어가게 된 계기, 정확히는 외대에 진학하게 된 계기 중 하나는 바로 제가 수학을 엄청 싫어한다는 거였어요.

  • 대표적인 사례: 08학번인 본인은 고교과정 중 미적분을 배우지 않았고, 확률과 통계까지 수능 수리를 쳤음. 그리고 수능 수리의 확률과 통계 문제(아마 자동차 좌석에 가족 구성원들이 앉을 수 있는 경우의 수를 구하는...)를 시험지 한 면 빼곡하게 경험적으로 구현...한 바가 있음.

외대는 사실 수능 영역 중에서도 서울 내에서는 수리 비중이 제일 낮은 곳이었고, 정치외교학과 같은 경우도 사실 전형적인 한국의 문과 계열 학과라고 생각해서 청운의 꿈을 안고 지원했습니다.ㅎㅎ 그리고 2학년이 되어서 마주한 전공필수과목이 바로 <정치학연구방법론>이었습니다. 사실 당시에 배웠던 방법론 수업은 상당히 과학철학 쪽에 비중을 두고 있어서 "정량 연구다!"라는 느낌은 받지 못했습니다. 하지만 리딩 논문들이 대개 통계 분석을 수행한 연구들이었기 때문에 알 수 없는 불안감이 엄습하고 있었죠.

 

학부를 마치고 정치학과 석사로 진학을 결정할 무렵, 저는 알았습니다. 학부에서 배웠던 SPSS에서 벗어나 이제 STATA를 배워야만 한다는 것을... 아무도 말해주지 않았지만, 제 분야는 정량연구가 굉장히 강조되는, 내가 하지는 않더라도 남이 한 것을 이해하려면 최소한 기본은 알아야 한다는 것을... 그렇게 저는 사회과학을 위한 통계학 입문서[각주:1] 의 제1장을 펴고 모집단(population)과 표본(sample), 그리고 모수(parameter)와 통계치(statistics)라는 단어들을 읽으며 돌아오지 못할 강을 건너고 말았습니다...

STATA에서 R로 넘어가기

석사까지는 통계분석의 주력 툴로 STATA를 써왔습니다. STATA는 유저들 사이에서 온라인/오프라인 등을 통하여 여러 가지 매뉴얼들이 제공되고, 피드백이 이루어진다는 장점을 가지고 있습니다. 또, 상대적으로 다루기 용이한 인터페이스도 그렇죠. 문제는ㅎㅎㅎㅎ Copyright 이슈인데... 적어도 외대에서는 STATA를 설치하는 데 있어서 학교에서 지원을 해주는 게 없어서 체험판을 쓰거나 했어야 했습니다 (자세한 이야기는 생략...). 사실 정치학과에서 STATA를 이용해 연구하는 학생들이라면 다들 사정은 비슷할 거라고 생각합니다.

미국에 넘어오고 나서 R을 본격적으로 접해보게 되었는데, R에서 제가 느낀 매력은 크게 세 가지 입니다.

  1. 오픈소스라서 어느 정도 자유롭게 접근할 수 있고, STATA 못지않게 폭넓은 교류가 이루어져 다양한 매뉴얼이 존재하고 피드백이 이루어짐.

  2. 패키지가 존재하지만, 내가 생각하는 작동 논리를 바탕으로 나의 코드를 짜서 실험해볼 수 있음. 예를 들어, R을 이용해서 표집(sampling) 등의 시뮬레이션을 프로그래밍, 시각화해서 이해했을 때, 단순히 책을 보고 이론적으로 이해하는 것보다 훨씬 효율적임.

  3. 말 그대로 "재현 가능한" 과학적 연구에 보다 용이함 (Markdown, Git 등을 이용).

물론 어려운 부분도 있었습니다. 지금 제 주변에서도 수업에서 필요한 경우에만 R을 사용하고 여전히 주력 분석 툴로는 STATA를 사용하시는 분들이 여럿 계십니다. R을 처음 접한 분들은 초입의 진입장벽이 너무 높다고 생각하실 수도 있기 때문입니다. R은 분명 제가 원하는 결과를 상대적으로 자유롭게 코딩하여 구현할 수 있는 여지를 제공하지만 반대로 그 유연함은 어떠한 결과를 얻기 위해서는 유저가 하나하나의 요소를 직접 조합할 수 있어야 하고, 각 요소의 특성을 파악해야 한다는 것이었습니다. 예를 들어, STATA에서는 변수의 특성 (명목형? 순서형? 연속형?) 등 통계학에서 일반적으로 고려하는 내용들 정도만 생각하면 되었지만 R에서는 객체(objects)의 특성들 (리스트? 벡터? 데이터 프레임? 매트릭스?)까지도 살펴보아야 했기 때문입니다.

  • 하나의 사례로 선형 회귀분석을 사용하여 그 결과를 정리해주는 {stargazer}라는 패키지가 있습니다. 문제는 순위형 로지스틱 분석이나 다항 로지스틱 분석 같은 결과를 얻기 위한 특정 패키지는 {stargazer}에서 받아들일 수 없는 객체로 결과를 산출하는 경우가 있습니다.

  • 이러한 문제에 직면한 정치학과 대학원생(아주 작은 제 주변의 표본들을 기준으로)의 선택지는 크게 세 가지입니다.

    • 콘솔 창에 나온 결과를 열심히 ctrl C + V 해서 한글 or 워드에 잘 옮겨 담는다. ^^

    • 구글링을 통해 어떻게든 결과물을 만들어 낸다.

    • 모든 것을 포기하고 STATA로 돌아간다.ㅎㅎ

이 게시판의 목적은 그런 시행착오를 조금이라도 덜 하실 수 있게 돕는 데 있습니다. 아마 정치학과에서 사용하는 주요 패키지나 분석 결과들 위주로 다루니까 유관 분야 연구하시는 분들 입장에서는 조금 더 편하게 보실 수 있을 거라고 기대합니다.

앞으로의 계획

저는 이 게시판을 통해서 정치학 분야에서 R을 이용해 연구를 수행하면서 제가 맞닥뜨렸던 문제들을 기존 연구들을 재현하면서 한 번 정리해보고자 합니다. 아마 2018년 이전 연구들은 거의 STATA로 해서 차근차근히 시작한다면 STATA로 수행했던 내용을 R로 바꾸면서 동일한 결과(출판된 결과)를 만들어내고 실제 저널에 게재한 플롯 등을 어떻게 시각화하는지 등에 대한 내용을 위주로 다루어보고자 합니다. 그 과정에서 조금 정치학 쪽에 편중된 연구설계에 대한 내용들도 다룰 수 있을 것 같습니다. 아마 순수하게 프로그래밍 or 순수하게 통계학--이런 내용보다는 정치학 혹은 유관 사회과학 분야에서 연구하시는 분들이 보기에 조금 더 흥미를 느끼실 수 있는 내용이 될 것 같아요.[각주:2]

 

다른 분과에서 연구하시는 분들이 보시기에 뭔가 요상한 것들이 있을 수 있고, 뭔가 부족하거나 새로운 부분이 있을 수도 있을 텐데 경험을 나누며 함께 성장할 수 있었으면 합니다. 제가 최소 공저자로 포함되어 수행한 연구들 위주로 어떻게 전처리하고, 분석하고, 시각화했는지 페이퍼당 4개에서 5개 정도로 나누어서 다음 포스팅을 시작하고자 합니다.

R meets Political Science by SH Park

⚡ 제 소개는 블로그 집필진에서 확인하실 수 있습니다.
🌱 활동 공간

  1. Alan, Agresti, and Finlay Barbara. 1986. Statistical methods for the social sciences. Dellen Publishing Company, San Francisco and Collier Macmillan Publishers, London. [본문으로]
  2. 아마 프로그래밍과 통계학 부분은 다른 게시판의 칼럼니스트 분들이 저보다 훨씬 더 역량이 뛰어나실 것이라 생각합니다. [본문으로]
반응형

댓글