스타의 도서관/통계학

통계 패키지 R에 대한 소개

스타(star) 2012. 2. 9. 15:54

통계 패키지란 복잡한 통계적인 절차와 연산을 대신 해주는 자료분석 프로그램입니다. 

이런 통계 패키지는 참 많습니다. 

SAS, SPSS, MINITAB, EXCEL, QUATTRO, R 등등......

저마다 적합한 형태로 발전하여 다양한 곳에서 이용되고 있습니다.

우리가 제일 많이 사용하는 마이크로소프트사의 엑셀은 매우 훌륭한 통계 패키지라고 할 수 있습니다.


한정지어서 설명하기는 매우 위험하긴 하지만, 산업분야에 대해서 자주 사용하는 통계패키지가 존재합니다. 

SAS는 행동과학 분야, SPSS는 사회과학과 마케팅, BMDP와 SAS는 경영학 등에서 주로 사용됩니다. 

하지만, 이런 특수한 영역에서의 프로그램은 최근 줄어드는 추세이고, 범용적이고 다양한 자료 분석에 대응 할 수 있도록 진화해가고 있습니다.



어떤 통계패키지를 사용해야하는가에 대해서는 사용하는 산업에 따라, 관심있는 분야에 따라, 사용자에 따라 다르기 때문에 명확히 정의해드리기는 어렵지만, 각각의 통계 패키지마다의 장점이 있다고 생각합니다. 

또한, 제일 중요한 것은 목적에 맞게 사용하는 것입니다. 간단한 데이터 분석을 하는데 SAS등을 사용하는 것은 닭잡는데 소잡는 칼을 이용하는 격이라고 생각합니다. 

어떤 통계를 분석하더라도 같은 분석을 하면 같은 결과값이 나옵니다. 

통계 패키지는 우리가 원하는 통계적인 절차와 연산을 대신해주는 것에 불과하다는 점 잊지 마세요. 



제가 오늘 소개하려는 통계패키지는 R이라는 통계 프로그램입니다. 
R 시스템은 미국 AT&T사의 Bell 연구소에서 개발한 S언어를 기반으로, 통계분석 모듈 및 다양한 그래픽 도구로 이루어져 있습니다. 

초기 R버전은 오클랜드 대학의 Ross Ihaka와 Robert Gentleman이 발전시켰고, 전 세계의 R 개발 팀에 의해 꾸준히 확장, 발전되고 있습니다.
R시스템은 S언어를 기반으로 한 통계분석 시스템인 S-PLUS와 달리 누구나 자유롭게 쓸 수 있으며, GNU규약하에 소스가 개방되어 꾸준히 발전하고 있습니다. 

R언어는 객체 지향 프로그램 언어로서 일련의 데이터 처리 및 분석 작업을 대화형으로 처리할 수 있습니다. 또한 뛰어난 그래픽 기능을 가지고 있어서 그래프를 이용한 자료 분석 작업도 매우 쉽게 할 수 있습니다.

다음은 An Introduction to R 이라는 문서에 나와 있는 R의 개발 환경에 관한 내용입니다.

1.1 The R environment (R이란 개발환경이란)
R 은 데이터의 관리, 수치 연산, 그리고 시각화를 통합적으로 지원하는 소프트웨어입니다.

효과적인 데이터 관리 및 저장 기능,
행렬에 특화된 배열기반의 수치연산 기능들,
데이터 분석의 중간과정을 모두 확인할 수 있도록 지원하는 방대한 양의 기능들이 일관성이 있게 잘 통합되어 있으며,
데이터 분석 및 시각화된 결과물을 컴퓨터와 하드카피로 출력이 가능하도록 다양한 기능을 지원하고,
조건문, 반복문, 사용자 정의 함수, 및 입출력을 단순하면서도 효율적으로 제어할 수 있는 'S' 프로그래밍 언어를 제공합니다. (실제로 내장되어 있는 대다수의 함수들은 S 언어로 작성되어 있습니다).
데이터 분석을 위한 프로그램 작성시 제약사항이 많거나, 혹은 추가적인 개발 및 지원을 받아야만 하는 다른 분석도구들과는 달리, R은 논리적으로 설계가 매우 잘 되어 있는 “개발환경"을 지원하고자 합니다.

대화식 데이터 분석방법을 가지고 있는 R은 방대한 양의 packages (패키지)를 통하여 빠른 속도로 개발환경을 확장할 수 있고 새로운 방법론을 즉각적으로 적용할 수 있는 강점이 있으나, 독자는 데이터 분석을 위한 대다수의 R 프로그램이 짧은 수명을 가지고 있다는 것을 명심해야 합니다.



한국어로 된 전문은 http://www.openstatistics.net/Rdocs/R-intro.html 을 확인해 주세요.

R의 장점을 정리하자면 다음과 같습니다.

1. 자료의 구성, 정렬 등의 자료 처리 기능이 매우 쉽게 이루어 집니다. 따라서 일반 프로그램 언어인 Visual Basic, C, C++ , Java등에 대한 지식이 없어도 매우 쉽게 자료 처리 작업에 사용할 수 잇습니다.
2. 자료를 분석하기 위해 필요한 수치적 계산 및 분석결과 제공등의 기능이 뛰어납니다.
3. 대화형 프로그래밍 언어로 되어 있어 분석자가 필요한 함수문 등을 쉽게 작성할 수 있으며, 일반 프로그램 언어와 연계가 가능합니다.
4. 다양한 통계분석 모듈과 수치해석 모듈을 내장하고 있습니다. 데이터 분석에 탁월한 기능을 제공하고, 새로운 분석 모듈의 개발 및 확장이 편리합니다.
5. 그래픽 기능이 뛰어납니다. 특히 대화형 방법을 통한 그래픽 기능이 뛰어나 자료분석과의 연계가 쉽게 이루어질 수 있습니다.

이러한 장점에도 불구하고 넘어야할 단점도 존재합니다. 단점은 다음과 같습니다.

1. 통계패키지 전문가들이 주로 만들다보니 프로그램의 접근성이 매우 떨어집니다. 쉬운 UI 구성으로 GUI 환경에 익숙한 사용자들은 엄두도 내지 못할 만큼 어렵습니다. 심지어 매뉴얼 조차 레퍼런스 위주의 설명서만 있을 뿐, 친절한 도움말은 기대하기 어렵습니다.
2. 주변에 아직 이용하는 이용자가 많지 않습니다. 20년전부터 국내에서 CRM 등의 솔루션을 제공해온 SAS나 SPSS와 같은 통계패키지에 비해 R의 인지도는 여전히 마이너하다고 할 수 있습니다. 대학등을 중심으로 사용이 늘어나는 추세이긴 하므로 조금식 나아지지 않을까 합니다.

R의 공식 홈페이지 http://www.r-project.org/


R-Project에서 내려받을 수 있는 소개 및 해설 문서들.


R-intro.pdf

R-data.pdf

R-lang.pdf