'R 분석과 프로그래밍/R 데이터 전처리'에 해당되는 글 103건

  1. 2015.06.30 R 설치하기 2
  2. 2015.06.30 R은 무엇이며, 왜 R인가? 4
  3. 2015.06.28 R이랑 친해지기 (R Friend) 블로그를 시작하며 37

R은 무엇이고, 왜 R인가에 대해서 알아보았으므로 이제 직접 R을 다운로드해서 컴퓨터에 설치해보도록 하겠다. 

- 하둡 클러스터 설치하는 것마냥 복잡하고 어려운 것도 아니고 (다운로드, 몇번 클릭하다보면 설치 끝), 
- 상용 통계 툴처럼 다운로드 하는데 시간 올래걸리지도 않으며 (base 패키지 파일 사이즈 작음. 62Megabytes), 
- 사용자 등록을 하라는 메시지가 뜨지도 않는다. (오픈소스니깐)

아래의 절차에 따라 차근차근 따라서 진행해보도록 하자. 


1. CRAN(The Comprehensive R Archive Network, http://www.cran.r-project.org/)에 접속하기

CRAN 사이트에 접속하면 아래와 같은 화면이 보일 것이다. 

CRAN 사이트는 R 사용자라면 앞으로 자주 방문할 곳이므로 북마크를 해놓도록 하자. 수많은 패키지 검색, 다운로드, 매뉴얼, R 새로운 소식 등을 접할 수 있는 R의 허브이자 정보집합소이다. 


2. 해당 OS에 맞게 R 다운로드 하기 선택

Linix, (Mac) OS X, Windows 중에서 본인의 컴퓨터에 해당하는 OS를 선택하여 다운로드 하도록 한다. 
필자는 Windows 노트북을 사용하므로 'Download R for Windows'를 선택하였다. 


3. Subdirectories에서 'base'를 선택

분석/그래픽/프로그램 용도로 사용할 것이므로 base, contrib, Rtools 의 세개 카테고리 중에서 'base' 시스템을 선택하여 다운로드 하도록 한다. 

(참고로, R은 base 시스템을 먼저 설치하고(지금 이거 하고 있는 중임), (분석 기법별) 패키지를 이후에 하나씩 추가로 필요에 따라서 설치해서 사용하게 된다.)


(R패키지를 직접 개발할 고수라면 Rtools를 다운받으면 되겠다. 물론 그정도 고수라면 본 블로그를 들어오지 않았을테고... 이렇게 친절하게 알려주지 않아도 이미 알아서 자력갱생 하고 있을 것 같지만...^^')


4. 버전, OS 확인하고 다운로드 하기

필자는 Windows 사용 중이므로 'Download R 3.2.1 for Windows'를 클릭해서 다운로드 하였다. 

(참고로, R은 버전 upgrade가 활발하게 이루어지고 있는 편이고, 버전에 따라서 설치해둔 패키지가 안돌아가는 경우도 있고 해서 사용하다가 어느 정도 기간이 지나면 upgrade를 해주어야 하는 일이 생긴다.)



미러 사이트를 선택하라는 메시지가 나올텐데 'Korea' 3군데 중에서 한 곳을 선택해서 다운로드 하도록 하자. 


5. 다운로드한 R파일 클릭해서 설치 시작하기

독자의 컴퓨터의 '다운로드' 폴더에 가보면 'R-3.2.1-win' 이라는 방금전 다운로드 받은 프로그램 파일이 들어있을 것이다. 클릭해서 설치 시작하도록 하자. 



설치 언어 '한국어' 선택하고, 디폴트 상태 유지한 채로 '예(Yes)'만 계속 몇 번 클릭하다 보면 어느새 설치 끝난다. 



6. R 실행하기

컴퓨터바탕화면에 가보면 R 프로그램 아이콘이 새로 생긴 것을 확인할 수 있다. 
R i386 3.2.1 은 "32비트" 컴퓨터용의 R 3.2.1 버전이라는 뜻이고, R x64 3.2.1 은 "64비트" 컴퓨터용의 R 3.2.1 버전이라는 뜻이다. 
64비트로 처리하는 R x64 3.2.1이 처리속도 면에서 당연히 빠르겠지만, 본인의 컴퓨터가 이를 지원하도록 세팅이 되어있는지 확인하고 자신에게 해당하는 프로그램을 선택해서 쓰면 되겠다.
R이 메모리 기반으로 분석을 진행하다보니 대용량 데이터를 클라이언트PC에서 돌리다 보면 뻣어버리는 수가 있다. (이런 이유로 엄밀히 말하자면 R은 대용량 빅데이터 분석 툴이라고 하기에는 무리가 있다...) 그래서 필자는 5만원짜리 메모리 사서 추가하고 OS도 64비트용으로 새로 깔아서 R 쓰고 있다. 


7. R 실행화면

컴퓨터 바탕화면에 있는 R 아이콘 클릭했더니, 짜잔~
아래의 R 프로그램 화면이 뜬다면 설치 성공했다는 뜻이다. 
이제 분석을 해보고 싶어서 손이 근질근질해지지 않는가? ^^


R base 시스템이 상용 통계툴에 비하면 많이 허전하고 불친절하게 느껴질 듯하다. 그렇다고 실망하지는 말자. RStudio라고 해서 사용자 친화적인 R 통합 분석/개발 환경 툴이 있으니 말이다. 

패키지 설치해서 분석 들어가기 전에, 다음 포스팅에서는 R 통합 분석/개발 환경 툴인 RStudio 설치하기에 대해서 다루도록 하겠다.

이번 포스팅이 도움이 되었다면 아래의 '공감 ~♡' 단추를 꾸욱 눌러주세요.^^

728x90
반응형
Posted by Rfriend
,
  • R은 무엇인가? (What is R?)

 R이 무엇인지에 대해서 R 공식 사이트(http://www.r-project.org/)에서는 "R은 통계 분석과 그래픽을 위한 언어이자 환경이다(R is a language and environment for statistical computing and graphics.)"라고 정의하고 있다. 

 오픈소스 "통계 분석(statistical computing)" 툴이라고 많이 알고 있을 듯 한데, 이에 더해 "그래픽(graphics)", "언어(language)", "환경(environment)"이라는 말은 무슨 말이가 하고 관심이 갈 듯 하다. 

 특히 R 공식 사이트의 "About R" 메뉴(http://www.r-project.org/about.html)에서는 첨언하기를 "많은 사용자들이 R을 통계시스템이라고 생각지만, 우리는 R을 통계 기법이 실행되는 환경으로 생각해주기를 바란다 (Many users think of R as a statistics system. We prefer to think of it of an environment within which statistical techniques are implemented.)" 고 말하고 있다. 

 이는 R이 통계분석(statistical computing)과 그래프(graphics)가 파워풀하다는 점 외에도 "(프로그래밍) 언어(language)"이자 "(분석/개발) 환경 (environment)"로서 타 분석 툴과 차별화되는 강점이라고 말할 수 있겠다. 

 참고로 덧붙이자면, R은 오클랜드 대학교의 Robert Gentleman and Ross Ihaka에 의해서 처음 개발되었으며, 1997년 부터는 contributor들로 구성된 핵심 그룹에 의해서 소스코드가 관리되고 있고, 오픈GNU General Public License에 의거해서 무료로 사용할 수 있는 오픈소스 소프트웨어이다.  

 그럼, 자연스레 왜 R인가? R이 여타 분석 소프트웨어와 다른 점, 강점이 무엇인가로 넘어가보도록 하자. 


  • 왜 R인가? (Why R?)

 R을 통계 분석 위주로 사용해본 개인적인 경험에서 R이 좋은 점을 순서대로 적어보자면, 


1) 무료, 공짜, 0원 (free) 

오픈소스로서 무료이다 보니 원하는 사람, 기관, 기업이면 가져다가 바로 사용할 수 있다. 특히, 요즘 우리나라처럼 장기불황의 그림자에 짖눌려 기업에서 IT예산이 긴축 일변도인 상황에서는 무료라는 점이 그 어느때보다도 큰 매력으로 다가올 것 같다. 
(물론, "상용툴처럼 관리/지원해주는 정식 회사/조직이 없다"는 우려와 한계점이 있기도 하다) 

2) 안되는게 없는 분석 기능 (packages)

R에는 2015년 현재 4천개가 넘는 통계분석 패키지가 있다. 가장 최신의 분석기법이 상용 통계분석 툴에는 없더라고 R에는 있을 가능성이 높다. 오픈소스이다 보니 전세계의 분석가, 개발자들이 R의 프로그래밍 언어이자 개발환경이라는 장점을 활용해 분석 패키지, 자동화된 사용자 정의 함수를 만들어서 배포, 공유하는 생태계가 형성되어 있으며, 이를 통해 어느 상용 툴보다도 빠르게 또 광범위하게 분석 기능이 확장되고 고도화되고 있는 것이다. 
(물론, 이는 장점이면서 동시에 단점이기도 하다. 초보자가 4천여개의 패키지 중에서 자신에게 딱 맞는 패키지를 골라 쓰려면 대략 난감해질 가능성 또한 높다)


3) 강력한 그래프 기능 (graphics)

머리로 생각할 수 있는 거의 대부분의 그래프는 R로 프로그래밍해서 그릴 수 있다. 게다가 이쁘기까지 하다. R로 그래프를 그려서 바로 신문이나 책, 인터넷 포스팅에 사용해도 전혀 손색이 없을 정도로 완성도 높게 그래프가 그려진다. 엑셀에서는 불가능한, 다양한 데이터 조건을 줘서 그래프를 그리는 것도 가능하다. 시각화가 분석에서 가지는 중요성을 생각해본다면 통계 전문가가 아니어서 다양한 분석 패키지를 쓸 일이 없는 사용자라 하더라도 R의 강력한 그래프 기능 하나만 가지고도 R을 공부하고 사용할만한 충분한 값어치가 있다고 생각한다. 블로그 포스팅 하면서 R의 시각화, 그래프 기능에 대해서 자세하고도 집요하게 소개를 해보고 싶은 욕심이 있다. 

(물론, 다양한 옵션에 '헐, 어렵다'고 지레 겁먹을 수도 있겠다. '강력한 기능/다양한 옵션 = 어렵게 느껴질 수 있는 함정'이라고나 할까...)


4) 데이터 처리도 거뜬 (data manipulation)

데이터 분석을 하다보면 데이터 수집/처리/탐색적분석이 투입 공수의 60~80%를 차지하고 모델링은 상대적으로 적은 시간이 소요된다. 데이터를 떡 주무르듯이 자유자재로 다룰 수 있어야지 '데이터 분석 좀 하네'라는 소리를 들을 수 있을텐데, R은 데이터 처리에 있어서도 매우 강력한 툴이다. 

(물론, 기존 상용 통계분석툴의 사용자라면 R이라는 새로운 언어를 배우고 익히는데 처음에는 애를 좀 먹을 것이다. R 처음 배울 때 나오는 스칼라, 벡터, 요인, 행렬, 데이터프레임, 리스트 등.... 을 접하고는 '엥? 이것들이 다 뭐지? 뭐에 쓰는 용어지?'.... 기존 툴하고는 달라서 힘들 수는 있겠다.)


5) 객체 지향 프로그래밍 언어 (object-oriented programming language)

일회성 분석하고 끝낼게 아니라면, 시스템화/자동화를 해야하는 상황이라면, 개발자라면 '객체 지향 프로그래밍 언어'라는 말이 가지는 힘, 의미를 잘 알 것이라고 생각한다. R은 벡터 연산과 Indexing이 정말 유용하고 강력하며, 사용자 정의 함수와 루프 돌리는 프로그래밍 언어 또한 강력하고, 지도 등의 애플리케이션과도 연동이 되는데, 거기에 통계분석까지 된다. 구글이 회사차원에서 R을 사용한다고 하는데, 아마 이런 이유들 때문에 상용 통계 툴이 아니라 R을 사용하는게 아닌가 싶다. 

(물론, 분석 위주로 업무를 보는 분, 분석 관련 전공하신 분들은 프로그래밍, 개발 얘기하면 이게 무슨 소리인가 하고 잘 이해가 안갈 수도 있겠으나, 좌절하지는 마시길.)


6) 커뮤니티, 공개/공유된 자료 (community, google.com, coursera.org, etc)

국내는 아직 R사용자가 그리 많아보이지는 않으나, 해외에서는 이미 R사용자가 꽤 많다. R 분석하다가 뭔가 잘 안된다거나 궁금한게 있다면 Google에 검색해보라. 없는거 빼고 다 있다. R 커뮤니터, 블로그도 많다. R 관련 책도 많다. Coursera와 같은 오픈 강좌에도 R 관련 교육이 있다. 

(물론, 영어 못하면 소외된다. 그나마 다행인 것은, 작년부터 해서 올해 R 관련 한글책이 많이 출간되기 시작했고 또 오프라인 강좌도 하나 둘 생기고 있다는 점이다)


7) 쉬운 설치(Easy to install), 실습 데이터셋 (embedded data-set)

통계분석 공부 시작하는 초급자라면 클릭 몇 번으로 끝나는 쉬운 다운로드/설치, 그리고 분석을 위한 실습 데이터셋이 패키지에 기본으로 따라온다는 점이다. 분석 이론 공부 끝났는가? 그럼 10분 안에 공짜로 쉽게 설치해서 바로 데이터셋 불러다가 분석 실습할 수 있다. 빅데이터 분석한다고 하둡 클러스터 구성하고 소프트웨어 설치하다가 진빼고 지쳐 나가떨어져본 사람이라면 R 설치가 누워서 떡먹기보다 쉽다는 점에 놀라지 않을 수 없을 것이다. 거기다가 RStudio 깔아서 쓰면 사용자 UI도 꽤 좋고 편하다. (RStudio도 기업용이 아니라면 공짜.^^)

(물론, R도 패키지 찾아서 설치하는게 초보자에게는 어려운 과정일 수 있다. 그리고 빅데이터에도 암바리 같은 설치/관리를 도와주는 소프트웨어가 생겨서 초창기처럼 설치하다가 절망하고 포기하는 사태는 방지할 수 있게 되기도 했다)


8) 소위 뜨는 분석 언어 (Hot Job Trend)

R과 Python 공부하면 좋다고 긴 말이 필요 없을 것 같다. 아래의 3개 Job Trend 그래프를 보면 뭔가 느끼는게 있을 테니...

(* 그래프 source: http://r4stats.com/articles/popularity/)



(* 그래프 source: http://r4stats.com/articles/popularity/)



(* 그래프 source: http://r4stats.com/articles/popularity/)

이번 포스팅이 도움이 되었다면 아래의 '공감 ~♡' 단추를 꾸욱 눌러주세요.^^

728x90
반응형
Posted by Rfriend
,


2~3년 전만 해도 통계분석툴 R을 사용한다고 하면 "유지보수 해주는 곳도 없는 오픈소스 툴을 보수적인 우리나라 기업에서 도입하겠어?" 라면서 확산에 회의적으로 말씀하시는 분을 몇 분 본적이 있습니다.  

그런데 최근에는 주변에 R을 사용하는 기업도 생기기 시작했고, R에 대한 관심도 많아지고 있음을 피부로 실감하게 됩니다. 

저는 R을 혼자 공부했던지라 어렵게, 더디게, 무식하게 배웠는데요, 그때 제 옆에 물어볼 수 있고 또 코칭해줄 수 있는 누군가가 있었다면 참 좋았겠다 싶은 바램이 있었습니다. 

R을 처음 시작하시는 분들에게 쉽고 친하게 따라하면서 배울 수 있는 친구 같은, 동료 같은, 사수 같은 블로그를 지향하면서 블로그를 시작합니다. 

시중에 R 책도 많이 쏟아져 나오고 있는데요, 저는 블로그를 하면서 

1) R의 기본기에 충실하되 블로그의 장점인 검색이 된다는 점을 십분 활용해 필요한 R 기능 그때 그때 찾아서 쓸 수 있도록 체계적으로 정리하기 (...상용 통계툴 사용하시다가 R 입문하시는 분들이 어려워하는 부분).  

2) R의 툴 기능 외에 통계, 데이터마이닝의 기본 이론 개념에 대해서도 가급적 쉽게 이해할 수 있도록 내용을 구성하기 (...개발자 하시다가 R 분석 넘어오려는 분들이 어려워하는 부분)

3) 똑같은 사건을 보더라도 보는 관점에 따라서 이해와 해석이 달라질텐데요, 분석이라는 렌즈로 세상을 본다고 했을 때의 소소한 썰 풀어보기

4) 틈틈히 책 보다가 '이 책 참 맘에 든다' 싶은 책 있으면 갈무리도 할겸 추천도 할 겸 리뷰 글 쓰기

 등으로 구성해서 블로그 포스팅 해보려고 합니다. 


R에 6천 개가 넘는 패키지가 있는 만큼, 앞으로 분석 주제별로 좋은 패키지를 찾아서 사용법을 정리해나간다면 저도 그렇고 국내 R 사용자들에게도 작으나마 도움이 될 수 있지 않을까 하는 기대를 품어봅니다. 

R, 참 매력적인 오픈소스임에는 틀림없습니다!  ^^


* 덧글 :  데이터 분석에 일가견이 있는 선배들 중에 "분석 툴은 단지 툴일 뿐이다."라고 말씀하는 분들이 주위에 보면 무척 많은거 같아요. 그런데 말입니다, 저는 분별해서 듣기를 바랍니다. 주위에 요리사 대가들 한번 보세요. 칼질을 제대로 못해서 칼질 소리가 "또각....또각....또각...." 이런 요리사 본 적 있으세요?  요리의 대가들을 보면 칼질할 때 도마에서 나는 소리가 "뚜따따따따다다다다다다다다다다....." 입니다.  "분석 툴은 툴일 뿐이다"라고 분석 좀 한다는 분이 얘기를 하면 그 분(분석전문가) 입장에서는 맞는 말입니다.  하지만, 분석을 처음 시작하는 사람 입장에서는 "분석 툴이 서툴면 시작도 제대로 못하고, 분석 툴 사용법 힘겹게 익히면서 시간 다 까먹고, 지치고, 좌절하고 (이게 내 길 맞아?  난 소질이 없는건가? ... -_ㅜ), 심지어는 화도 났다가, 분석 & 보고서 마감에 시간이 쫒기어 노심초사 불안해 하고... 뭐 그렇게 됩니다.  일단 분석 툴 (저는 R 당연히 추천이요 ^^) 하나는 끝내주게 잘 사용할 수 있게끔 익혀두시면 나중에 생산성도 좋아지고, 심지어 분석 툴을 잘 앎으로써 새로운 아이디어도 생각해내는 경우도 있답니다.  "분석 툴은 단지 툴일 뿐이다"라는 말이 맞긴 한데요, 일단 분석 툴을 자유자재로 쓸 수 있는 경지에 오른 다음에 그런 말씀을 하시는게 순리라고 생각합니다.  분석 툴 제대로 쓰지도 못하면서 남들이 "분석 툴은 단지 툴일 뿐이라더라.."고 하는 말로 위안삼지 마시길 바랍니다.  분석 툴, 제대로 익혀두면 나중에 두고두고 좋아요. 

* 덧글 : R 교육 받으러 가보면 강사가 친절하게 R script를 다 작성해서 수강생들에게 공유를 해줍니다. 그러면 수강생들은 그거 블록 선택한 다음에 'Run' (Ctrl + Enter) 해보면서 실행을 해봅니다.  당연히 에러없이 잘 실행됩니다.  그런데 말입니다, 만약 이러고 끝내고서는 '음, 이제 나도 R 좀 할 줄 아는거 같다...'라고 위안을 삼으면 안됩니다.  R 수업 끝나고 돌아가서 업무에서, 집에서 공부하면서 따라해보고, 시행착오도 겪어보고, 에러 때문에 두세시간 구글링 빡세게 하면서 고생도 해보고 하면서 내공이 쌓이고 실력이 쌓이는 겁니다.  남이 짜 놓은 R script 눈이랑 검지 손가락으로 마우스 클릭하면서 실행시켜보고 나서 공부 다 했노라고 끝내지 마시길 바래요. "R 에러로 고생해본 만큼 실력"이 쌓이는게 맞는 말 같습니다.  


 

728x90
반응형
Posted by Rfriend
,