R은 데이터 분석할 때 주로 사용하는 언어이다.
요즘 데이터 분석가 모집 요망을 보면 SQL과 R은 기본적으로 다루는 기술이기 때문에 데이터 분석을 하고 싶어하는 사람에게는 R은 필수이다. 데이터 분석이 필요한 이유에 대해 사례 하나를 들어볼까한다.

카카오톡은 2010년 3월에 서비스를 시작한 이후에 폭발적으로 성장해서 2012년 말에 8000만명의 가입자를 넘어섰다고 한다. 하루 평균 43분간 카카오톡을 하고 하루 방문자가 2700만명, 하루 최대 메세지 이용건수가 42억건에 달한다고 한다. 예전에는 “문자해”라는 말이 현재는 “카톡해”로 바뀐거를 보면 정말 카카오톡은 성공했다고 볼 수 있다.

이런 성공에도 불고하고 마땅한 수익모델이 없어서 2010년에 41억 적자, 2011년 153억 적자였다고 한다. 카톡 사용자들에 대한 데이터 분석을 하고난 다음부터 2012년에 애니팡의 인기에 힘 입어 흑자라인으로 들어섰다고 한다. 그렇다면 카카오는 카톡 사용자들을 어떻게 분석했을까 ?

  1. 누가(성별, 연령)
  2. 무엇을(게임 아이템)
  3. 언제(아이템 구매시간)
  4. 얼마나(아이템 구매빈도)
  5. 어떻게(결제 방법)

카카오는 위 5가지를 데이터 분석해서 사용자 패턴을 알아내어 마케팅에 성공했다고 한다.
그렇다면, 똑같이 데이터를 다루는 SQL과 R의 차이점은 무엇일까?

SQL과 R의 차이점

R과 SQL의 차이점이 무엇일까?

  1. 아주 긴 SQL코드를 R코드로 단순하게 작성할 수 있다.

예)

select deptno, 
sum(decord(job,'SALESMAN',sal0),
sum(decord(job,'ANALYST',sal,0) .....

이것을 R로 만들면 ,

emp<-read.csv("emp.csv",header=T)
attach(emp)
tapply(sal,list(deptno,job),sum)
  1. 데이터를 시각화 할 수 있다.(가장 큰 이유)
pie(emp$sal)

pie1

R이란?

뉴질랜드의 aukland 대학의 robert gentlman 과 Ross ihaka 가 1995년에 개발한 소프트웨어이고 데이터 분석을 위한 통계 및 그래픽스를 지원하는 무료 소프트웨어있다.

R을 왜 사용해야하는가?

  • R is free
  • data 분석을 위해 가장 많이 쓰는 통계 플랫폼이다.
  • 복잡한 데이터를 다양한 그래프로 표현할 수 있다.
  • 분석을 위한 데이터를 쉽게 저장하고 조작할 수 있다.
  • 누구든지 유용한 패키지를 생성해서 공유할 수 있고 새로운 기능에 대한 전달이 빠르다.
  • 어떤 os에서 설치가 가능하다. 심지어 아이폰에서도 설치가 된다.

R의 자료구조

  • vector : 같은 데이터 타입을 갖는 1차원 배열구조
  • matrix : 같은 데이터 타입을 갖는 2차원 배열구조
  • array : 같은 데이터 타입을 갖는 다차원 배열구조
  • data.frame : 각각의 데이터 타입을 갖는 컬럼으로 이루어진 2차원 배열구조
  • list : 서로 다른 데이터 구조인 데이터 타입이 중첩된 구조

그림으로 설명하면 아래의 그림과 같다.

type