R를 이용한 사회과학데이터 분석_맛보기

Page 1

R를 이용한 사회과학데이터 분석 기초편 백영민

대한민국, 서울, 커뮤니케이션북스, 2015


머리말

한국의 교육제도에서 고등학생들은 2학년 때 소위 문과·이과·예체 능과로 구분된다. 이러한 시스템에 대해 논란이 많지만, 개인적으로는 반드시 없어져야 한다고 생각한다. 그 이유 중 하나는 고등학교의 계열 분리로 문과생들(저자를 포함해서)이 수학이나 알고리즘 등을 배울 필 요가 없다고, 혹은 배우더라도 최소한만 배우면 된다고 착각하기 쉽기 때문이다. 사회가 복잡해지고 전산화가 촉진되면서 자료의 양은 폭발적으로 늘어나고 있다. 전문적인 프로그래머가 아니라고 하더라도, 사회과학 자는 실험이나 설문조사를 포함한 자료를 분석하고 요약하여, 독자나 청중에게 효과적으로 전달해야 한다. 실험이나 설문조사 자료를 이용 하지 않는 사회과학자(이론가)라 해도 전산화된 사회 현실을 이해하고 올바른 방향을 제시하려고 한다면, 프로그래밍의 원리를 모르고는 적 합한 이론을 수립하는 것이 매우 어렵다. 흔히 사회과학 분과에서는 SPSS를 데이터 처리 프로그램으로 가장 널리 사용한다. SPSS는 자료처리 및 통계분석을 위한 모듈이 윈도 시스 템으로 설정되어 있다는 점에서 매우 편리한 프로그램이기는 하다. 그 러나 이 프로그램을 사용하려면 ‘돈’이 든다. 대부분의 이용자들은 프로 그래밍을 하기보다는 메뉴판에서 원하는 옵션을 찍어서 분석한다. 이 런 이유 때문에 나는 정형화된 분석을 벗어난 자료분석을 하기에는 그

v


다지 좋은 프로그램이라고 생각하지 않는다. 사회과학을 공부하면서 SPSS, SAS, STATA, Matlab 등 여러 프로그램들을 이용하였지만, R가 가장 유용하다고 생각한다. 이유는 다음 두 가지다. 첫째, ‘무료’다. 돈이 들지 않는다는 것은 사회과학 연구자에게 무 엇보다 매력적이다. 세계적 학문 수준이 강조되기는 하지만, 한국 사회 과학 연구자는 연구비가 ‘없거나’ ‘적거나’ 둘 중 하나다. 외부의 지원이 그다지 많지 않은 상황에서 연구자가 자료처리를 위한 프로그램을 구 입하기는 쉽지 않다. 물론 어느 정도 수준의 대학교들은 라이선스를 구 입하지만, 해당 라이선스는 대부분 실습실에 한정된다. 사정이 이렇다 보니 해적판 이용의 유혹이 생기지 않을 수 없다. 가난한 사회과학자의 입장에서 R가 ‘무료’라는 사실은 너무나 고마운 일이다. 물론 몇몇 사람 들은 무료 프로그램이기 때문에 R가 ‘그렇고 그런 프로그램’이라고 생 각할지도 모른다(“싼 게 비지떡”이라는 말처럼). 그러나 R는 전문가 집 단이 쓰는 프로그램이며, 상업용 프로그램의 옵션을 다 지원하거나 혹 은 그 이상을 지원해 주는 경우가 대부분이다. 다시 말해 다른 상업용 프로그램보다 훨씬 더 좋다. 즉 ‘무료’이며 ‘양질’이다. 둘째, 이용자 집단이 ‘다양’하고 ‘방대’하다. ‘무료’ 그리고 ‘양질’이 라는 점에서 이용자층에는 초급자도 있지만 전문가들도 있다. R를 이 용하다가 어려운 점이나 의문 나는 점이 있으면 이용자 그룹(users group)에서 유사한 질문을 쉽게 찾을 수 있으며, 만약 없더라도 다른 이용자들의 협력을 받는 것이 어렵지 않다. 개인적으로 R를 이용한 지 7년 정도 되지만, 의문 나는 점을 검색엔진을 통해서 찾지 못한 적 이 단 한 번도 없을 정도다. 흔히 위키피디아(Wikipedia)를 집단지성 (collective intelligence)의 예로 언급하지만, R도 위키피디아 못지않은 집단지성을 발휘하고 있다. 특히 R의 이용자층은 사회과학자를 넘어

vi


통계학자, 전산학자, 수학자, 물리학자, 생물학자 등 거의 모든 학문 분 과들을 포괄하고 있다. 즉, 다른 학문 분과에서 어떤 방식으로 연구가 진행되는지 ‘R’를 매개로 입문할 수 있으며, 다른 학문 분과의 혁신적 아 이디어를 상대적으로 쉽게 받아들일 수 있다. 물론 R에도 단점은 존재한다. R를 사회과학자(몇몇을 제외한 대부 분은 저자와 같은 전공인 언론학 전공자)에게 소개하면서 R의 프로그 래밍 용어가 사회과학자들에게는 너무 낯설고 어렵다는 말을 많이 들 었다. 특히 R와 관련된 대부분 도구 서적들이 통계학자 혹은 컴퓨터공 학자에 의해 작성되었기 때문에 사회과학자의 눈높이에 맞는 서적을 찾기 어려웠다. 낯선 용어, 그리고 프로그래밍 경험 혹은 지식 부족으 로 R를 배우려다가 그만둔 사람들을 보면서 개인적으로 매우 안타까 웠다. 이 책은 사회과학 전공자의 눈으로 R에 어떻게 하면 낯설지 않게, 그리고 친근하게 다가설 수 있을까를 고민하면서 만든 결과물이다. 독자에게 꼭 부탁하고 싶은 것은 두 가지다. 첫째, ‘머리’로 배우려 하지 말고 ‘몸’으로 배우려는 자세를 가져 주었으면 한다. 이해하는 것 과 실행하는 것은 전혀 다르며 정말 하늘과 땅만큼 차이가 있다. ‘축구 경기를 볼 줄 아는 것’과 ‘축구를 할 줄 아는 것’이 서로 다르듯, 머리로 아는 것과 몸으로 익히는 것은 명백히 다르다. R를 배운다는 것은 R의 프로그래밍을 해석할 줄 안다는 것이 아니며, 자신의 생각을 R의 프로 그래밍 언어로 표출할 수 있다는 것을 의미한다. 따라서 이 책은 ‘읽기 용’이 아니고 ‘따라 하기용’이다. 둘째, 기존의 상업용 프로그램을 썼던 사람들의 경우 기존 프로그 램에서 느낀 ‘익숙함’으로 인해 R를 쉽게 포기하고 상업용 프로그램으 로 다시 돌아가려는 생각을 할 수 있다. 그렇더라도 부디 그런 생각을 딱 세 번만 거두어 주었으면 좋겠다. 자료처리 및 통계분석 프로그램은

vii


일종의 언어와 비슷하다. 모국어가 가장 편하듯, 한번 익숙해지면 프로 그램을 바꾸는 것은 귀찮으며 괴로운 일이기도 하다. 그러나 그런 생각 을 더도 말고 세 번만 참아 주었으면 좋겠다. 처음에는 낯설고 복잡해 보이는 것 같아도 어느 정도만 익숙해지면 R는 연구자의 자금, 시간, 노 력을 획기적으로 줄여 준다. 상업용 프로그램들이 편리하기는 하지만, 일단 R에 적응하기만 하면 효용성에서는 R가 훨씬 더 낫다고 느낄 것으 로 확신한다. 이 책의 1부는 그다지 중요하지 않지만, 프로그래밍에 대한 지식이 전혀 없는 독자라면 한 번쯤 가볍게 훑어볼 것을 권한다. 2부는 학부 과 정에서 사회과학 방법론을 수강한 독자라면 읽고 이해하는 데 큰 무리 가 없을 것으로 확신한다. 또한 대학원 수준의 사회과학 방법론에 익숙 하거나 박사학위를 소지한 전문 연구자라면 가벼운 마음으로 보아도 큰 무리 없이 읽을 수 있을 것이다. 하지만 사회과학 방법론에 대해서 자신이 없다면 공부하는 마음으로 신경을 쓰면서 읽어 볼 것을 권한다. 1, 2부와 달리 3부와 4부는 이 책의 핵심이다. 3부 전반부는 데이터 를 어떻게 구성하며 어떻게 관리할 것인지를 다루고 있다. 대부분의 ‘통 계분석’ 관련 서적들은 데이터가 주어졌다는 것을 가정하고 어떻게 분 석하는가에 대해 설명한다. 하지만 저자의 경험으로는 데이터 분석에 앞서 분석을 위한 데이터를 만들어 내고 사전처리를 하는 작업이 더 중 요한 듯하다. 즉, 데이터에서 필요한 부분을 골라내거나 두 개 이상의 서로 다른 데이터를 합치는 것은 실제적 분석 이전에 매우 중요한 사전 작업이다. 특히 데이터가 점점 더 방대해지면서 원하는 데이터 일부를 뽑아내거나 집산(集算, aggregation)하는 작업은 분석에 소요되는 시 간을 줄이는 데 필수다. 또한 산재되어 있는 데이터를 통합시키는 작업 (이를테면 국가별 언론자유지수 데이터와 GDP 데이터를 하나의 통합

viii


데이터로 만든다고 가정해 보자)도 데이터의 의미를 풍성하게 만드는 데 필수다. 3부의 후반부는 사회과학 학술지나 학위논문에서 흔히 접할 수 있 는 통계기법이다. 이 책에서는 일반적으로 많이 사용되는 기법들 위주 로 설명하였다. t-검증, 카이제곱 검증, 상관분석, 회귀분석, 분산분석, 로지스틱 회귀분석, 신뢰도 분석 등을 다루고 있으며, 이러한 통계기 법의 기본이 되는 기본적인 확률 및 분포에 대해서도 간략하게 소개하 였다. R는 다른 상업용 프로그램에 비해 확률 및 분포를 학습하는 데 매 우 효과적이다. 만약 일반적으로 사용되는 분석기법에 만족하고 있다 면 확률 및 분포 부분을 자세하게 학습할 필요는 없을지 모른다. 그러 나 R를 심도 있게 공부하기를 바란다면, 확률 및 분포에 소개되는 함수 들에 익숙해지는 것이 큰 도움이 될 것이다. 학습을 위해 실제 데이터를 이용하였으며, 어떻게 해석을 해야 하는가에 대한 설명도 예시하였다. 저자의 학문적 배경이 ‘의견조사(opinion survey)’라는 점에서 사용된 데이터는 여론 관련 현상을 설명하기 위한 설문조사 데이터가 많은 편 이다. 그러나 가능하면 모든 사회과학도들이 이해할 수 있도록 노력하 였다. 마지막 5부에서는 책의 내용을 간략하게 정리한 후, R를 어떻게 하 면 더 효율적으로 사용할 수 있는지, 그리고 일반적 통계기법으로 처리 하기 어려운 데이터를 어떻게 분석할 수 있는지 간략하게 소개하였다. 독자들이 이 책에 만족하고 R에 익숙해졌다면, 별도로 출간을 계획 하고 있는 ‘응용편’과 ‘고급편’을 볼 것을 권한다. ‘응용편’에서는 R를 이 용해 반복 작업, 그래프, 혹은 결과물의 편집 작업을 어떻게 할 수 있는 지를 소개할 것이다. 연구보고서에 들어가는 수많은 표·그림들을 효과 적으로 관리하고, 논문이나 학술지에 실리게 되는 표를 어떻게 효율적

ix


으로 관리할 수 있는지 알게 되면 R의 매력을 더 느낄 수 있을 것이다. ‘고급편’에서는 ‘기초편’의 통계분석기법을 바탕으로 R에서 최신의 통계기법을 어떻게 다룰 수 있는지 살펴볼 예정이다. 구조방정식, 다 층모형, 연결망분석, 메타분석 등 사회과학의 모든 분석이 R에서 가능 하다. 또한 사회과학자들에게 널리 알려지지는 않았으나 데이터마이 닝, 기계학습과 같은 비사회과학 분야의 기법들, 그리고 저자가 개인적 으로 관심이 많은 텍스트마이닝과 같은 테크닉들도 사례와 함께 어떻 게 이용할 수 있는가를 간략하게 소개할 것이다. 그러나 ‘응용편’과 ‘고 급편’을 위해서는 ‘기초편’의 학습이 무엇보다 중요하다. 이 책을 통해 서 독자들이 R와 친해지고 그 유용성을 맛볼 수 있다면 저자로서 이보 다 더 기쁜 일은 없을 것이다. 이 책은 R를 소개하는 기존의 책과 매우 다른 접근을 취했다. R에 관한 기존의 책들은 대부분 통계학 전공자들이나 컴퓨터 프로그래머와 같은 사람들이 저술하였다. 이러한 배경을 갖는 사람들이 보기에 이 책 에서 소개된 R프로그래밍은 비효율적으로(inefficient) 보일 수 있다. 이를테면 이 책에서는 attach()와 detach()함수를 사용하지 않았 는데, 이 같은 비효율성은 사실 의도된 것이다. 비효율성을 택한 대신 저자는 프로그래밍에 익숙하지 않은 사람들이 보아도 이해할 수 있는 반복적이지만 직관적인 프로그래밍을 강조하였다. 이 책의 독자들 중 반복적이라도 직관적인 R프로그래밍보다 효율적인 R프로그래밍을 원 한다면, 다른 R 관련 책을 탐독하는 편이 나을 것이다. 하지만 대부분의 사회과학 데이터의 크기가 크지 않은 상황과 최근 컴퓨터의 자료처리 속도를 감안할 때, 비효율적이지만 직관적으로 이해가 가능한 프로그 래밍이라도 자료를 처리하는 데는 많은 시간이 낭비되지 않는다는 점 을 강조하고 싶다. ‘응용편’과 ‘고급편’에서는 보다 효율적인 R프로그래

x


밍을 소개하고 있지만, 개인적으로는 일반적 사회과학 자료처리에 충 분한 수준이라면 프로그램의 효율성을 크게 고려할 필요는 없다고 생 각한다. 부족한 것이 많은 책이라 저자로서 너무도 부끄럽지만, 이 책으로 독자들이 사회과학 분석을 보다 효율적이며 효과적으로 수행할 수 있기 바란다. 부족한 저자가 변변치 못한 지식을 이처럼 책으로 남길 수 있 었던 데에는 저자의 수업을 들었던 많은 대학원생 및 학부생의 질문과 조언이 큰 도움이 되었다. 서울대학교 융합과학기술대학원(2011년 가 을), 한국과학기술원 웹사이언스공학 전공(2012년 봄), 연세대학교 언 론홍보영상학 학부 및 대학원(2012년 여름 및 2013년 봄) 그리고 정보 대학원(2014년 봄)에서 수업을 듣고 질문을 하며 조언을 해 준 학생들 에게 이 자리를 빌려 감사를 드린다. 또한 안내서를 쓰는 데 많은 도움 과 격려를 보여 주신 같은 학과의 김용찬 교수님, 수업을 청강하면서 귀 중한 조언을 아끼지 않으신 박남기 교수님, 그리고 책의 초고를 보고 귀 중한 코멘트를 주셨던 서울대학교 언론정보학과의 강남준 교수님과 이 준웅 교수님께 특별한 감사의 인사를 남기고 싶다. 그러나 무엇보다 이 책의 초고를 읽고 오·탈자 및 부자연스러운 표현을 지적해 준 연세대 학교 언론홍보영상학 학부생인 고정현 씨와 김상정 씨에게 깊은 감사 를 드리고 싶다. 이들과 같이 우수한 학생을 만난 것은 저자에게 큰 축 복이었다.

2015년 3월 연희관에서 저자 씀

xi


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.