[01-1] R언어 - R 이란 무엇인가?

Language/R 2017.11.07 15:09 posted by TechNote.kr


요즘들어 R 이라는 언어가 주위에서 자주들려온다. 대체 기존 언어들과 비교해서 어떤 점이 다른 언어인가?


우선 R 언어를 언급하기 전에 S 언어에 대해 알아볼 필요가 있다. 


S 언어는 통계에 기반한 프로그래밍 언어이다. 이 언어의 목적은 "어떤 아이디어에 대해서 좀 더 빠르고 충실하게 소프트웨어로 구현 가능하게 "이다. 


S 언어는 2가지 버전이 있다. 

  • 무료로 배포되는 GNU S
  • 상용 버전인 Insightful의 S-PLUS 

앞서 언급된 GNU S가 바로 우리가 알아보고자 하는 R 언어이다. 


통계에 기반한 언어라는 것은 대체 무엇일까.


일반적으로 생각해 보면 통계라는 것은 다양한 데이터를 기반으로 이들 데이터에서 의미있는 어떤 것을 구해내는 것이다. 물론 많은 용도가 있겠지만 데이터 분석을 위한 언어가 주 목적 중 하나가 될 수 있지 않을까 한다. 


장점 

  • 데이터의 시각화 
    통계에 기반한 데이터를 효율적으로 보여주기 위해 해당 기능이 발전하지 않았을까 한다. 
  • 다양한 패키지 및 커뮤니티
    다양하게 사용되고 있는 패키지는 좀 더 쉽게 R에 다가갈 수 있게 도와준다.
  • 데이터 사이언스를 위한 언어
    통계학에 많이 사용되다 보니 데이터 사이언스를 위한 작업에 많이 사용된다.

단점
  • 느린 속도
    통계를 위해 더 쉽게 연구하기 위해 만들다 보니 효율성은 떨어진다. 다만 다양한 패키지를 통해 어느 정도 개선은 가능하다.
  • 꾸준한 학습
    풍부한 패키지가 장점이 될 수도 있겠지만 이를 익혀야 한다는 점에서는 다소 시간이 걸릴수도 있다. 


R언어를 공부하면서 범용 언어 학습과 뭔가 다른 점은 느꼈다. 기존 범용 언어의 경우는 기본적인 문법을 학습하고 관련 API 를 이용해 내가 원하는 프로그램을 만드는 것이 큰 틀이었지만 R언어의 경우는 어느 정도 통계 관련 지식이 있어야 함을 느꼈다. 


어느 정도 통계학 지식을 바탕으로 R언어를 이용해 원하고자 하는 바를 구하면 된다.

단순히 R언어 문법만 학습한다면 R언어를 가지고 무엇을 해야할지 모를지도 모른다. 


얼마전까지 R언어를 배운다는 차원에서 기본 문법을 배우고 정리하였다. 이를 바탕으로 각종 상황에 따른 예제를 보여주는 책을 보았는데 예시로 제공되는 코드들이 어느 정도 통계학에 기반을 하고 있어 이해하기가 어려웠다.


R언어를 제대로 사용하기 위해서는 관련된 통계학에 관한 학습이 필요하다.