R 언어 첫 인상

데이터 분석 2015. 10. 1. 12:37 Posted by 정직한 UnHa Kim

매매전략 수립을 위한 데이터 분석을 위해서 R언어를 선택했다.

최근 Python언어도 데이터 분석 관련 서적도 제법 나오고,

예전에 Python을 사용해 본 경험도 있기에

Python과 R 사이에서 고민을 했지만,

통계 관련 기능이 풍부하다는 점에서 R을 선택했다.


책을 읽어보면서 조금씩 따라해 보니 다음과 같은 특징이 눈에 띈다.

 

1. 무료이다.

    - https://www.r-project.org/  에 가면 무료로 다운로드 받을 수 있다.


2 스칼라 자료형이 없다.

    - 최소한 벡터이다.

    - 처음에는 무척 낯설게 느껴지고, 진입장벽으로 작용한다.

    - 익숙해지면 반복문이 확연히 줄어들고, 소스코드도 깔끔하고, 굉장히 간편하다.


3. 데이터 프레임 자료형

    -  다른 언어에서 보기 쉽지 않은 독특한 자료형인데,

          R언어에는 기본 자료형으로 포함되어 있다.

    - GUI가 빠진 엑셀 시트처럼 느껴지지만,

       스크립트 언어로 VBA 대신에 R언어를 사용하고,

       무료 기능 확장 패키지가 수천개가 있고,

       사용가능한 통계 관련 함수가 무지무지하게 많다는 점이 다르다.

    - GUI 기능까지 있었으면 엑셀은 벌써 망했지 싶다.

 

3. 그래프 작성 기능 내장.

    - 데이터 분석을 할 때, 데이터를 그래프(특히, 산점도)로 그려보면서

       변수 사이의 관계를 파악해 보는 작업(탐색)이 필수적이다.

      그래프 그리는 기능이 내장되어 있어서 이런 작업에 아주 편리하다.


4. 아주 많은 추가 기능 패키지.

    - R언어를 선택한 가장 중요한 이유

    - 통계학 관련 '무료'로 사용할 수 있는 추가 패키지가 아주 아주 많다.

    - 예를 들면, cointegration 확인에 사용되는 UnitRoot기법만 4가지가 넘게 있다.

    - 다중 선형 시계열 관련 패키지는 알고 있는 것만 3가지 이다.

        ARMA, ARIMA?? 그 정도는 기본에 속할 정도이다.

    - 시계열 분석을 위한 시간(time)자료형 패키지(zoo, xts등)이 별도로 존재한다.


5. 모든 개발도구를 기본적으로 포함하고 있다.

    - 도움말. (?<함수명>, ??<키워드>로 도움말 즉시 볼 수 있다.)

    - 외부 패키지 관리. (install.packages("패키지명")으로 추가 기능을 간편하게 설치할 수 있다.

    - 개개의 도구는 그 자체로 기능이 부족한 면이 있지만, 여러 곳을 돌아다닐 필요없이 

       R언어를 설치하는 즉시 모든 작업을 시작할 수 있다는 데 의의가 있다.

       즉, 초기 개발환경 구축의 진입장벽이 낮다.


6. 무료로 사용가능한 'Jupyter 노트북'을 사용하면 웹브라우저에서 간편하게 작업할 수 있다.

    - Jupyter 노트북은 원래 python용으로 나왔지만,

      지금은 R, Julia등 데이터 분석 언어의 공통 개발 환경으로 발전했다.


 

내가 느낀 단점


1. 인터프리터 언어답게 느리다.

    - 속도가 느리다고 알려진 Python보다도 더 느리다고 한다.

    - 그래서, 매매전략을 수립한 이후, 실제 매매에 적용할 때는

        속도가 빠른 언어로 다시 구현해야 할 필요성이 생길 수도 있다.


2. 스칼라 자료형이 없고 모든 게 최소한 벡터이고, 행렬, 데이터 프레임 같은 자료형만 있다.

   - 처음에는 무지하게 낯설다.


3. 관련 서적이 프로그래밍과 통계학이 뒤섞여 있다.

    - R이 통계학에 특화된 언어이다 보니,

      관련 서적을 읽고 있노라면 통계학 책을 읽고 있는 지,

      R언어 책을 읽고 있는 지 헷갈릴 정도이다.

   - 통계학에 익숙하지 않으면, R언어 초기 진입장벽이 높다고 느껴진다.

 

첫 인상은 상당히 괜찮다.

앞으로 사용해 보면서 더 알아가야할 듯 하다.

'데이터 분석' 카테고리의 다른 글

과거 기업 재무정보  (0) 2019.08.28
R언어 POSIXct 형의 변환 코드  (0) 2019.08.01
Jupyter Notebook 셀 분할/병합 단축키  (0) 2019.08.01
R용 Jupyter NoteBook 설치  (0) 2019.07.27
Tensorflow 설치  (0) 2018.12.11
R 언어 첫 인상  (0) 2015.10.01

댓글을 달아 주세요