Translate

2016년 5월 16일 월요일

들어가면서 - 왜 R 언어인가?



(R 로고. 출처: Hadley Wickham and others at RStudio)



 앞으로 진행하게 될 R, 통계분석, 데이터 분석 관련 포스트에 앞서 제가 R을 공부하게 된 동기 및 포스트 작성을 계기를 간단히 소개를 하려고 합니다. 


 - R을 공부하게 된 계기 


 사실 저는 의대를 다닐 때 기초 의학통계를 배울 때나 이후 대학원에서 SPSS 강좌를 들을 때나 통계 분석 부분에 대해서는 별로 흥미를 느끼지 못했습니다. 논문을 쓸 때에도 직접 분석하기 보다는 다른 분의 도움을 받아 작성을 하곤 했습니다. 


 지금와서 생각하면 왜 당시에는 흥미가 없었을까 하는 의문도 들지만, 아마도 통계 분석이 내 전공과는 관련성이 떨어지고 어려운 분야라고 생각해서 그랬던 것 같습니다. 


 하지만 이는 사실 잘못된 생각이었습니다. 통계 및 데이터 분석은 공학/의학/자연 과학 연구는 말할 것도 없고 사회 과학 분야에서도 반드시 필요한 능력으로 자리잡았습니다. 물론 연구 분야에 따라서 많은 차이가 존재하는 것도 사실이지만, 일반적으로 실험, 관찰 과학에서 제대로 된 통계 분석을 하지 않는다면 대부분 인정을 받기 어려운 연구가 될 수밖에 없는 것이 사실입니다. 


 그러나 동시에 통계 분석은 상당히 어려운 수학에 기반을 두고 있으며 그 결과를 해석하고 통계 모델의 타당성을 검증하는 과정이 쉽지 않아서 많은 이들이 좌절하는 분야이기도 합니다. 아마도 저 역시 그 중에 하나였던 것 같습니다. 


 개인적으로 한동안 연구에서 멀어졌다가 다시 연구를 진행하면서 통계공부를 처음부터 다시 하는 과정은 쉽지 않았습니다. 기초부터 다시 공부해서 분석을 스스로 하는 수준까지 도달하려면 도대체 얼마나 많은 시간과 노력이 필요할지도 알 수 없었습니다. 


 하지만 노력하면 길이 보인다고 할까요. 두서없이 시작한 공부였지만, 그 과정에서 R 언어를 알게 되었습니다. 조금 과장해서 말하면 R 언어를 배우기 시작하면서 모든 것이 바뀌게 된 것 같은 느낌을 받았고 앞으로 데이터 분석을 나의 제 2의 전공으로 삼아야하겠다는 결심까지 하게되었습니다. 


 사실 R 언어는 배우기가 쉽지 않습니다. 특히 이전에 C언어나 자바 등 다른 언어를 배운적이 없는 저 같은 사람은 더 배우기가 어렵습니다. 보통 통계 분석용으로 가장 많이 쓰이는 프로그램인 SPSS와 비교해서 너무 생소한 구조를 지니고 있기 때문에 초보자들은 몇 번 도전해보다가 바로 포기하기도 합니다.


 하지만 깊이 들어갈수록 R의 매력에 푹 빠지는 경우도 볼 수 있습니다. 마치 악기를 배울 때 처음에는 단순한 소리도 내기 어렵지만, 어느 정도 기본기가 생기면 그 다음에는 연주의 재미에 푹 빠지게 되는 것과 같습니다. 처음에는 어떻게 소리를 내는지도 몰랐던 악기를 자기 몸처럼 사랑하게 되면 그 다음에는 생소하던 악보도 매우 친숙하게 보이는 것과 같습니다. 


 개인적인 경험으로 이야기 해보면 R 코드와 통계 분석 방법도 처음에는 너무 생소하고 잘 모르는 것 투성이었습니다. 하지만 책에 있는 예제를 반복해서 따라하면서 실제 데이터를 분석하다보니 새로운 길이 눈에 보이고 그것이 매우 흥미로워서 매일 같이 하지 않으면 아쉬운 수준에 이르렀습니다. 그리고 연구에 있어서도 이제 새로운 길이 보이는 것 같습니다. 


- R을 추천하는 이유


 사실 모든 사람이 R 언어를 공부할 필요는 없을 것입니다. 하지만 데이터 분석과 연관된 업무에 종사하거나 혹은 학문 연구를 위해 통계 분석 및 데이터 분석이 필요한 사람이라면 강력히 추천하고 싶은 언어입니다.


 R을 추천하는 첫 번째 이유는 무료라는 것입니다. 오픈 소스 언어로써 모두가 자유롭게 사용할 수 있습니다. 중요한 것은 언어만 무료가 아니라는 점입니다. 특정한 목적을 위해 개발된 툴인 패키지도 모두 무료입니다. 


 R을 추천하는 두 번째 이유는 바로 이 패키지입니다. 언어에는 공식적으로 CRAN ( https://www.r-project.org/ )에서 다운로드 받을 수 있는 패키지만 이미 6천개 이상 등록되어 있으며 깃허브에서 받을 수 있는 것까지 합치면 2만 개가 넘는다고 합니다. 


 더 나아가 R 언어에 대한 이해도가 높다면 자신이 스스로 필요한 패키지를 만들어 이를 다른 사람과 공유할 수 있습니다. 이런 특징 때문에 R의 확장성은 상용 패키지인 SPSS, SAS, STATA 등과 비교할 수 없이 강력한 것입니다. 특히 빅데이터 분석 및 데이터 시각화를 위한 강력한 확장성은 R 언어가 갈수록 인기를 끌게 만드는 원동력 같습니다. 


 R을 추천하는 세 번째 이유는 코드의 활용 및 재현 가능한 연구 때문입니다. R은 모든 작업이 코드를 통해 이뤄집니다. 다시 말해 SPSS처럼 파일을 불러들이거나 저장하는 과정을 마우스로 클릭해서 진행할 수 없습니다. 


 이는 처음에는 생소하고 불편하게 느껴질 수도 있습니다. 하지만 반대로 그렇기 때문에 모든 과정을 코드로 남겨놓을 수 있으며 비슷한 연구를 진행할 때 이 코드를 사용해서 과정을 상당 부분 자동화할 수 있습니다. 또 나중에 데이터와 코드만 있으면 결과를 그대로 재현할 수 있다는 것이 R의 큰 장점입니다. 


 이와 같은 R의 장점은 R 언어가 가진 몇 가지 불편한 단점에도 불구하고 점점 R 언어가 큰 인기를 끌게 하는 원동력이 되고 있습니다. 


 - R강좌를 마련하게 된 이유


 하지만 이런 R의 강점과는 별개로 R 관련 포스트를 블로그에 올려도 되는 것인지는 좀 고민이었습니다. 왜냐하면, 아직 제가 여전히 R이나 통계 모두 초보에 불과하기 때문입니다. 누군가에게 정보를 제공하려면 최소한 어느 정도 전문지식을 갖춰야 합니다. 


 그런데도 불구하고 R 관련 포스트를 작성하기로 결심한 이유는 제가 공부하면서 느낀 문제점 때문이었습니다. 통계 분석 관련 포스트들은 네이버에서도 쉽게 검색이 가능하지만, 한글로 된 R 관련 포스트를 찾기는 다소 어렵습니다. 


 다행히 최근 국내에서도 R 관련 서적이 계속해서 출간되고 있고, 몇몇 분들의 노력으로 R 관련 포스트가 꾸준히 늘고 있지만 아직 한글로 된 콘텐츠가 충분하지는 않은 것 같습니다.


 다른 분야와 마찬가지로 R과 통계 분석은 책 한 두권으로는 내용을 이해하기 어려워 많은 의문점을 검색을 통해 해결해야 합니다. 이 때 도움이 되는 자료를 구하는 방법은 주로 영문으로 검색하는 것입니다. 그래야 내용을 찾을 수 있으니까요. 


 만약 한글로도 쉽게 검색을 할 수 있다면 R을 처음 배우는 분들에게 많은 도움이 될 것입니다. 그것이 제가 포스트를 작성하게 된 동기입니다. 저 역시 부족한 부분이 많지만 포스트를 작성하면서 함께 공부한다는 생각으로 진행하면 도움이 될 것으로 생각됩니다. 


 아마도 대부분의 내용은 초보적인 수준에서 벗어나지 않을 것입니다. 하지만 그 초보적인 내용이 누군가에는 큰 도움이 될 수도 있습니다. 물론 큰 도움이 아니라 작은 도움이라도 된다면 수고스럽게 포스트를 작성하는 보람이 되리라 믿습니다. 


 한 가지 걱정되는 부분은 제가 잘 몰라서 잘못된 내용을 작성하게 되는 경우입니다. 혹시 이런 부분을 발견한다면 주저없이 댓글을 통해서 알려주시면 알아보고 수정하겠습니다. 물론 꼭 잘못된 내용이 아니라 더 좋은 방법이나 팁에 대한 조언 역시 모두 환영합니다. 댓글 통한 질문도 받겠습니다. (물론 아는 범위 안에서만 대답해줄 수 있을 것 같습니다) 


 그럼 다음 포스트부터 시작합니다. 


 (아마도 주당 1-2회 정도 포스트가 될 것 같습니다. 다만 저자의 사정에 따라서는 좀 더 길어질 수 있습니다. 참고로 포스트에 있는 모든 코드와 데이터는 자유롭게 사용하시면 됩니다) 






댓글 없음:

댓글 쓰기