67
Best Expert Group for Analytics 2012. 6. LCBEx (Low Cost But Excellent) 분분 분분분분분분 R 분 분분 분 분 분 The leading expert in R [email protected]

슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

Embed Size (px)

Citation preview

Page 1: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

Best Expert Group for Analytics

2012. 6.

 LCBEx (Low Cost But Excellent)

분석 플랫폼으로의 R 의 활용

김 준 기

The leading expert in R

[email protected]

Page 2: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

2

The popularity of R at universities could threaten SAS Institute, the privately held business software company that specializes in data analysis software.

Companies as diverse as Google, Pfizer, Merck, Bank of America, the InterContinental Hotels Group and Shell use it.

New York Times:Data Analysts Captivated by R’s Power

6 Jan 2009

R 관련 기사

To some people R is just the 18th letter of the alphabet. R is also the name of a popular programming language used by a growing number of data analysts inside corporations and academia.

Page 3: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

3

R 에 대한 관심의 증가폭발적인 사용자 증가와 개발자의 확산으로 , 대학교육의 표준 툴로

자리 잡음

☞ Revolution Analytics 소개자료 ( 소스 : http://r4stats.com/articles/popularity/)

Page 4: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

4

기업체에서의 R 의 활용빅 데이터 기업의 분석 플랫폼 엔진으로 사용 중이며 , 유수기업에서

데이터 분석 tool 로 사용 중임

Page 5: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

5

기업체에서의 R 의 활용특히 , Google 과 Facebook 은 R 을 자사의 주된 분석 플랫폼으로

활용하고 있음

http://www.dataspora.com/2009/02/predictive-analytics-using-r/

Google uses R for data exploration and model prototyping, it is not typically used in production: in Bo’s group, R is typically run in a desktop environment.

- Bo Cowgill, Google

Itamar conveyed how Facebook’s Data Team used R in 2007 to answer two questions about new users: (i) which data points predict whether a user will stay? and (ii) if they stay, which data points predict how active they’ll be after three months?

- Itamar Rosenn, Facebook

Google's R Style Guide

Page 6: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

6

소프트웨어 Vendor 의 R 적용Oracle, IBM 의 Netezza, SAP 의 HANA, Teradata 등에서 in-

memory 혹은 in-database 분석 엔진으로 R 을 적용함

Page 7: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

7

SAS/JMP

통계 소프트웨어 Vendor 의 R 적용SAS 나 SPSS 등의 통계 소프트웨어에서 R 과의 연동을 통해 새로운

분석 방법을 제공

Page 8: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

8

Big Data 분석을 위한 R 의 활용

Hadoop File Based In-database

빅 데이터 분석을 위한 아키텍처 전반에 걸쳐 공통적인 분석 플랫폼으로

자리잡음

Page 9: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

9

R / Hadoop특히 국내외 Big Data 분석에 관심이 많은 기업체에서 Hadoop

기반의 R 분석 기능 구현을 위하여 기술 확보에 노력하고 있음

☞ Revolution Analytics 소개자료

Page 10: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

10

R / Hadoop (Word Count Example)

☞ Revolution Analytics 소개자료

Page 11: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

11

웹 분석시스템 구현

Data Sources & Creation of Analytics

R / Statistical Modeling Expert

DeployR

Data AnalysisData Analysis

Business IntelligenceBusiness Intelligence

Interactive Web AppsInteractive Web Apps

Cloud / SaaSCloud / SaaS

Consumption of Analytics & Results

DeploymentExpert

엔터프라이즈 환경의 분석 플랫폼으로 이용

☞ Revolution Analytics 소개자료

Page 12: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

12

History of R

☞ 유충현 ( 넥스알 , 빅데이터 애널리틱스 인사이드 2011)

R 은 1993 년 뉴질랜드 오클랜드대학의 통계학과 교수 2 명 (Ross Ihaka, Robert Gentleman) 에 의하여 개발

1976 년 Bell Lab 의 John Chambers, Rick Becker, Allan Wilks 에 의하여 개발된 S Language 에 그 뿌리를 두고 있음

Page 13: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

13

왜 이름이 R 일까 ?

두 명의 저자 (Robert Gentleman 과 Ross Ihaka) 이름 맨 앞

철자

1976 년 Bell Lab 에서 개발된 ‘ S’ 언어의 이름에서

Page 14: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

14

통계분석과 그래픽 작성을 위한 프로그래밍 언어

- 통계학자에 의한 , 그리고 통계학자를 위한

분석 소프트웨어

- 데이터 입출력 , 데이터 처리 , 데이터 분석 , 그래프 작성 등을 위한

수많은 알고리즘 및 방법론 제공

R 이란

R is a language and environment for statistical computing and graphics.

I

Page 15: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

15

II

R is available as Free Software under the terms of the Free Software Foundation's GNU General Public License in source code form.

“GNU” 라는 이름은 “ GNU's Not Unix!” 라는 문장의 재귀적 약어

GNU 는 자유 소프트웨어를 뜻함

- 프로그램을 어떠한 목적으로도 실행할 수 있는 자유

- 자신의 필요에 맞게 개작할 수 있는 자유

- 복제물을 재배포할 수 있는 자유

- 프로그램을 개선시킬 수 있는 자유와 개선된 이점을 공동체 전체가 누릴 수 있게 그것을 발표할 자유

R 이란

Page 16: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

16

III

사용자의 입장에서 Free 라는 것이 단지 무료임을 뜻하는 것은 아님

- 언제 어디서든 다운로드 및 설치가 가능

- Windows, Linux, Unix, Mac 등 다양한 운영체제에서 동작

- 누구나 패키지를 만들어 다른 사람과 공유 가능

- Java, Python, .Net, Visual Studio 등 다양한 개발 언어 및 플랫폼과

연동

R is Free.

R 이란

Page 17: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

17

R 의 특징

In-Memory Computing

- 빠른 처리 속도 , H/W 메모리 크기에 영향을 받음

Object-oriented programming

- 데이터 , 함수가 object 로 관리되어 짐

- 클래스 (class) & 메소드 (method)

Package

- 최신의 알고리즘 및 방법론을 적용

- 다양한 함수 및 데이터 내장 , Help 의 Examples 바로 사용 가능

Page 18: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

18

The R Foundation (http://www.r-project.org)

R Development Core Team 멤버들에 의하여 설립된 비영리 단체

R 의 배포와 수정은 R Development Core Team 과 많은 기여자들에

의하여 이루어 지고 있음

Page 19: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

19

CRAN (The Comprehensive R Archive Network)

http://cran.r-project.org/

Korea :

http://cran.nexr.com/

R 은 CRAN Site 를 통하여 자유롭게 다운로드 받아 설치할 수 있음

현재 39 개국 87 개 Mirror 사이트 운영 중

Page 20: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

20

R Package (http://cran.r-project.org/web/packages/)

R 패키지 수

CRAN Site 에 3,868 개 등록됨 (2012 년 6 월 11 일 기준 )

이러한 패키지들은 새로운 통계분석 알고리즘이나 새로운 IT 기술의 응용에 관한 것을 포함

Software Vendor 에 의하여 Version Up 이 되지 않는다는 것이 다른 통계분석 소프트웨어와의 차이임

Page 21: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

21

R Manual (http://cran.r-project.org/manuals.html)

R 과 관련된 매뉴얼을 HTML 및 PDF 파일로 지원 (An Introduction

to R, R Data Import/Export 등 )

Page 22: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

22

RGUI

①②

메뉴툴바

R Console

RGui 실행 기본 화면은 메뉴 , 단축아이콘 , 콘솔 창으로 구성

Page 23: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

23

파일 편집

기타

패키지 도움말

RGUI ( 메뉴 )

메뉴는 파일 , 편집 , 보기 , 기타 , 패키지 , 윈도우즈 , 도움말로

구성

Page 24: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

24

> getwd()

> search()

> searchpaths()> ls 오브젝트 리스트를 문자열로 보여주는 함수

> ls() ls 함수를 실행

> ls(pos=6) pos argument 값으로 6 을 입력하여 ls 함수를 실행

R Console 에 입력된 R command

RGui (R Console)

입력된 명령 (command) 에 대한 결과가 interactive 하게 화면에 출력

Page 25: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

25

> ls ls 함수 코드

> args(ls) ls 함수의 arguments 정보

> help(ls) ls 함수의 도움말 정보 (html 형식 )

ls 함수의 도움말 정보가 웹 브라우저에 표시

RGui ( 도움말 )

R Console 에 help 명령어와 오브젝트 이름을 입력

R Console 에 입력된 R command

Page 26: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

26

R 을 배워 업무에 적용하려면

Or is it?

Page 27: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

27

R 을 배우는데 도움이 될 만한 곳

http://www.r-project.org

http://www.r-project.kr ( 한국 R 사용자 모임 - KRUG)

http://www.r-bloggers.com

http://stackoverflow.com

http://stats.stackexchange.com

http://www.inside-r.org/

http://www.r-statistics.com/

Page 28: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

28

R GUI Projects

“The 95% of statistical software users do not know how to write a script in command-line.”

☞ 신종화 ( 서울과학종합대학원대학교 , Korea R User Conference 2011)

Page 29: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

29

R Studio (http://www.rstudio.org/)

Page 30: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

30

Red-R (http://www.red-r.org/)

Page 31: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

31

Red-R

Page 32: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

32

Rattle (http://rattle.togaware.com/), (install.packages("rattle"))

Page 33: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

33

Rattle (library(rattle); rattle())

Page 34: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

34

RExcel (http://rcom.univie.ac.at/)

Page 35: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

35

RExcel

Page 36: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

36

R Commander (install.packages("Rcmdr"))

Page 37: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

37

R Commander (library(Rcmdr))

Page 38: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

38

기업체에서 주로 사용하는 R Package

RODBC

sqldf

ggplot2

RgoogleMaps

googleVis

animation

Page 39: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

39

RODBC 패키지DBMS 와의 인터페이스를 위한 패키지

Oracle, DB2, SQL Server, MySQL 등

다양한 DBMS 와 인터페이스가 가능

Page 40: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

40

RODBC 패키지 내 오브젝트DBMS 와의 인터페이스를 위한 패키지

오브젝트 명 설명 사용방법

odbcConnect ODBC 접속odbcConnect(dsn, uid = "", pwd = "", ...)

odbcClose ODBC 접속 해제 odbcClose(channel)

sqlQuery

SQL 을 이용하여

데이터를 R 의

Object 로 생성

sqlQuery(channel, paste("select State, Murder from USArrests", "where Rape > 30 order by Murder"))

sqlSaveUpdate

R 의 data frame

Object 를 DB

Table 에 쓰기

sqlSave(channel, USArrests)

RODBC 패키지 내 주요 오브젝트

Page 41: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

41

sqldf 패키지R 데이터에 대하여 SQL 문을 사용하여 데이터 Manipulation 이 가능

# SQL 사용 : Inner Join# merge(import_emp_tb_data, import_dept_tb_data, by = c("DEPTNO"))sqldf("select a.*, b.DNAME, LOC from import_emp_tb_data a, import_dept_tb_data b where a.DEPTNO = b.DEPTNO")

# SQL 사용 : Left Join# merge(import_emp_tb_data, import_dept_tb_data, by = c("DEPTNO"), all.x = T)sqldf("select a.*, b.DNAME, LOC from import_emp_tb_data a left join import_dept_tb_data b using(DEPTNO)")

Page 42: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

42

ggplot2 패키지보다 화려하고 유연하고 동적인 그래프 생성이 가능

Page 43: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

43

ggplot2 패키지qplot(x = hp, y = mpg, data = mtcars, color = cyl, facets = .~ gear)

qplot(x = hp, y = mpg, data = mtcars, color = cyl, facets = .~ gear, label = rownames(mtcars), geom=c("text","point"), size = .1, hjust=-0.25)

Page 44: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

44

RgoogleMaps 패키지구글 지도 상에 다양한 정보를 표출

고속도로 영업소 위치 표출# 패키지 로딩 ...library(RgoogleMaps)

# 데이터 읽어들이기tollgate_info <- read.csv(" 영업소정보 .csv")

# 지도 중심 위치 설정map.center.loc <- c(36, 128)

# 지도 레벨input.zoom <- 7map_data <- tollgate_info

# 고속도로 영업소 표시win.graph()mymap <- GetMap(center = map.center.loc, zoom = input.zoom, maptype = "road", format = "roadmap", destfile = "mymap.png")PlotOnStaticMap(mymap, lat = map_data$Y좌표 , lon = map_data$X좌표 , destfile = "mymap.point.png", cex = 1, pch =20, col="blue“)

Page 45: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

45

googleVis 패키지 R 에서 구글 데이터 시각화 API 를 이용

http://code.google.com/p/google-motion-charts-with-r/

Page 46: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

46

animation 패키지 R Graph 결과를 animation 으로 생성

# animation 으로 생성

saveHTML({ for(map.i in 1:length(unique.name)) { mymap <- GetMap(center = map.center.loc, zoom = input.zoom, maptype = "road", format = "roadmap", destfile = "mymap.png") PlotOnStaticMap(mymap, lat = map_data[map_data$ 지역본부 == unique.name[map.i], ]$Y좌표 , lon = map_data[map_data$ 지역본부 == unique.name[map.i], ]$X좌표 , destfile = "mymap.point.png", cex = 1, pch =20, col="blue") }}, img.name = "unif_plot", imgdir = "unif_dir", htmlfile = "random.html", autobrowse = FALSE, title = " 고속도로 영영소 ", description = c("RgoogleMaps 패키지를 활용한 데모 .\n\n"))

Page 47: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

47

기업체에서 주로 사용하는 R 유틸리티

Rcmd

Rtools

Page 48: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

48

Rcmd 유틸리티 Batch 작업을 위한 R Script

# ==============================================================================================# 프로그램 시작# ==============================================================================================cat("Batch Program Start!!!", as.character(Sys.time()), "\n")# ----------------------------------------------------------------------------------------------

# 오늘 날짜today.date <- as.character(Sys.Date())

# 데이터프레임 생성sample.df <- data.frame(year = substr(today.date, 1, 4), month = substr(today.date, 6, 7), day = substr(today.date, 9, 10), sample.norm = rnorm(1000000), stringsAsFactors = TRUE)

# 데이터프레임을 csv 파일로 저장write.csv(sample.df, paste("C:\\RProject\\OUT\\", today.date, ".", "sample.df.csv", sep = ""), row.names = FALSE)

# ==============================================================================================# 프로그램 종료# ==============================================================================================cat("Batch Program End!!!", as.character(Sys.time()), "\n")# ----------------------------------------------------------------------------------------------

Page 49: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

49

Rcmd 유틸리티 Batch 작업을 위한 bat 파일

CD C:\Program Files\R\R-2.13.1\bin\x64

Rcmd BATCH C:\Rproject\RSC\RBatchSample.R C:\RProject\TXT\RBatchSample.txt

set filename=RBatchSample_%date:~2%_%time:~0,2%_%time:~3,2%_%time:~6,2%.log

copy C:\RProject\TXT\RBatchSample.txt C:\RProject\LOG\%filename%

• bat 파일‒ bat 파일 내 명령어는 dos 명령어 임

• Rcmd‒ R Batch 를 수행하기 위해서는 Rcmd.exe 파일을 이용함

• Rcmd BATCH‒ BATCH 명령어는 대문자 임‒ Usage: Rcmd BATCH [options] infile [outfile]‒ outfile 을 지정하지 않으면 .Rout 파일로 outfile 이 생성됨

Page 50: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

50

Rtools 유틸리티 기업체 내부의 분석 로직을 R 패키지로 생성

http://www.murdoch-sutherland.com/Rtools

Page 51: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

51

Rtools 유틸리티 package.skeleton 함수를 이용하여 Package 를 작성

## two functions and two "data sets" :

f <- function(x,y) x+y

g <- function(x,y) x-y

d <- data.frame(a=1, b=2)

e <- rnorm(1000)

package.skeleton(list=c("f","g","d","e"), name="mypkg")

내 문서에 mypkg 디렉토리가 생성

R CMD build --binary mypkg

Page 52: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

52

Rtools 유틸리티 mypkg_1.0.zip 파일 생성 및 Package Install

R CMD INSTALL mypkg

Page 53: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

53

Large Data 를 이용한 분석

Rcmd 자동화

Visualization Tool 과의 연계

Page 54: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

54

분석 (Analytics) 이란 ?

‘분석 (Analytics)’ 정의

☞ Davenport and Harris, “Competing on Analytics”, Harvard Business School Press

의사결정과 action 에 활용하기 위한 데이터의 광범위한 활용 , 통계적이며 정량적 측면의 분석 , 탐색적 분석 및 예측모델링 , 사실에 근거한 경영을 의미함

mean the extensive use of data, statistical and quantitative analysis, explanatory and predictive models, and fact-based management to drive decisions and action

의사결정 혹은 완전 자동화된 의사결정의 입력이 될 수 있음

may be input for human decisions or may drive fully automated decisions

I

II

Page 55: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

55

Standard Reports

Ad hoc Reports

Query/drill down

Alerts

Statistical Analysis

Forecasting/extrapolation

Predictive Modeling

Optimization

What happened?

How many, how often, where?

Where exactly is the problem?

What actions are needed?

Why is this happening?

What if these trends continue?

What will happen next?

What’s the best that can happen?

Degree of Intelligence

Com

petit

ive

adva

ntag

e

Analytics

Access andReporting

☞ Davenport and Harris, “Competing on Analytics”, Harvard Business School Press (2007) 참조

Advanced Analytics 요즘 화두가 되는 고급분석 (Advanced Analytics) 은 통계분석 , 예측

( 스코어 ) 모형 , 시계열 분석과 최적화 등을 의미합니다

대부분의 기업들은 고급 분석이 가능한 분석 전문가들을 리포팅 작성에 활용하고 있습니다

Page 56: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

56

• 저비용− 오픈 소스 소프트웨어 기반으로 구축해 최대한 도입비용을 낮춰야 함

• 고성능 − 구현 사상을 고려하였을 때 , 빠른 계산처리 및 새로운 알고리즘 ,

방법론이 제공되어야 함

• 확장 및 통합 용이성− 독립된 형태의 분석 시스템 구축 없이 분산 처 리를 통한 처리가

가능하여야 함− Hadoop 과 같은 오픈소스 기반의 솔루션을 활용할 수 있음

•Efficiency

•Scalability

•Agility

분석 플랫폼

• 구현 신속성− 분석 방법이나 결과 등을 오브젝트로 관리하여 공유 ,

재활용이 가능하여야 함− 정형화된 분석 프로세스의 패키징이 용이하여 이관이나

재활용이 용이하여야 함

LCBEx (Low Cost But Excellent) 분석 플랫폼 바람직한 분석시스템의 구축은 분석엔진을 중심으로 마련된 저비용

(Low Cost) 이지만 고성능이며 확장성이나 인터페이스가 뛰어난 (Excellent) Analytic Platform( 분석 플랫폼 ) 을 중심으로 이루어져야 함

Page 57: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

57

감사합니다

김준기

Tel : 010-7109-7291email : [email protected]

Page 58: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

58

Page 59: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

59

기본 사용법 ( 시작 환경 설정 )

R 시작 환경을 ‘ R 설치경로 \library\base\R\Rprofile’ 파일을 통하여

변경 가능

Page 60: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

60

기본 사용법 ( 작업공간 / 이력 )

작업공간 (workspace) 는 R 오브젝트의 저장소

작업공간은 .RData 이름으로 저장

- 저장 위치는 기본적으로 working directory

- R 은 메모리를 이용하여 작업이 수행되기 때문에 변경된 오브젝트 정보를 (R 종료시 혹은 R 작업시 ) 작업공간에 저장하지 않으면 , 메모리에 있는 모든 오브젝트 정보가 사라지게 됨

rm(list=ls(all=TRUE)) 입력 혹은 RGui 메뉴 - 기타 - 모든 오브젝트 삭제를 통하여 현재 작업공간 내의 모든 오브젝트를 삭제할 수 있음

R Console 에 입력된 command 는 .Rhistory 이름으로 저장된다

- 화살표 키 ↑와 ↓를 통하여 입력된 command 를 다시 R console 에 표시

Page 61: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

61

기본 사용법 ( 명령어 )

R 에서 사용되는 기본적인 명령어는 사용자에게 익숙한 이름으로 되어 있음

- help() 도움말을 보여줌

그리고 programming language 로서의 요소를 가지고 있음

- <- <- 오른쪽에 위치한 정보를 왼쪽의 정보로 assign

예 ) temp.x <- 3 temp.x 라는 이름의 변수에 3 을 할당

오브젝트 이름에 한글명 사용 가능

- 문자 a~z, A~Z 와 숫자 0~9, ‘ . ’, ‘ _ ’ 의 조합으로 구성 , 대소문자를 구분함

- 첫 문자로 숫자와 ‘ _’ 는 사용 불가

- if, for 와 같이 R 에서 사용되는 이름은 사용 불가

Page 62: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

62

기본 사용법 ( 스크립트 )

R Console 은 기본적으로 한 줄만 처리

- R Console 에서 명령어를 입력하고 실행 키를 누를 때 명령이 완료되지 않아 추가적인 입력이 필요하면 ‘ +’ 표시가 나타나 추가적인 입력을 기다림

- 한 줄에 여러 명령이 있을 경우 ‘ ;’ 로 구분하여 처리

- 주석 (comment) 은 ‘ #’ 으로 시작되며 이후의 명령은 처리되지 않음

여러 줄을 한꺼번에 처리하고자 할 때 스크립트를 이용하게 됨

- R 편집기 창을 이용해 스크립트를 작성하게 되고 , 줄 또는 선택영역 실행(Ctrl + R) 을 통하여 스크립트가 R Console 로 이동되어 처리가 됨

- 여러 작업을 한꺼번에 처리하거나 , 사용자 함수처럼 여러 줄로 이루어진 하나의 개체를 생성하고자 할 때 유용하게 사용됨

Page 63: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

63

기본 사용법 ( 사용자 함수 )

동일한 과정의 데이터 처리 및 분석을 수행할 때 사용자 함수를 작성하게 됨

사용자 함수는 R package 에서 제공되어지는 함수를 변경하여 나만의 함수로 작성해도 됨

사용자 함수는 함수명 , argument 로 구성된다

R 편집기 창을 이용하여 스크립트로 사용자 함수 작성 예

사용자 함수 실행

- > ex.1.fn(1, 5, 9) ex.1.fn(input1 = 1, input2 = 5, input3 = 9)

[1] 45

Page 64: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

64

기본 사용법 ( 패키지 )

package 란 R 에서 사용가능한 object 의 모음으로서 데이터 , 함수 등이 포함

기본적으로 제공되는 package 이외의 추가 package 는 CRAN 을 통하여 혹은 ‘ RGui 메뉴 - 패키지’를 통하여 다운로드 및 설치가 가능

package 는 R 설치경로 아래의 library 디렉토리에 디렉토리 형태로 위치

R Console 에서 package 를 사용하기 위해서는 library( 패키지이름 ) 을 입력

로딩된 package 는 기본적으로 Search Path 2번에 위치하게 됨

패키지 인스톨 : xlsReadWrite 패키지

- 메뉴 ‘패키지’ - 패키지 인스톨

- CRAN mirror : Korea 선택

- Packages :xlsReadWrite 선택

Page 65: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

65

기본 사용법 ( 주요 데이터 객체 )

벡터 (vector) : 하나 이상의 자료 값으로 구성된 1 차원의 자료구조

행렬 (matrix) : 동일한 유형의 자료 값으로 구성된 행과 열의 2 차원 자료구조

데이터 프레임 (data frame) : 변수와 관측치로 구성된 2 차원의 자료구조

배열 (array) : 동일한 유형의 자료 값으로 구성된 2 차원 이상의 자료구조

리스트 (list) : 서로 다른 자료 유형으로 구성이 가능

시계열 (time series) : 시간 등과 같이 일련의 시간 자료를 표현하는 자료구조

Tip : 데이터 객체 보기

sapply(ls(), function(x) class(get(x)))

Page 66: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

66

기본 사용법 ( 함수 )

R 함수는 함수명 ( 아규먼트 ) 입력을 통하여 수행

> cor

function (x, y = NULL, use = "everything", method = c("pearson",

"kendall", "spearman"))

{

na.method <- pmatch(use, c("all.obs", "complete.obs", "pairwise.complete.obs",

"everything", "na.or.complete"))

}

<environment: namespace:stats>

> args(cor)

function (x, y = NULL, use = "everything", method = c("pearson", "kendall", "spearman"))

함수명을 R Console 창에 입력하면 R Code 가 출력

args 함수를 이용하여 cor 함수의 아규먼트를 알아봄

Page 67: 슬라이드 1 - economicslab.tistory.com2151… · PPT file · Web viewLCBEx (Low Cost But Excellent) 분석 플랫폼으로의 R의 활용 2012. 6. 김 준 기 The leading expert

67

기본 사용법 ( 함수 )

> args(cor)function (x, y = NULL, use = "everything", method = c("pearson", "kendall", "spearman")) > cor(x = longley) GNP.deflator GNP Unemployed Armed.Forces Population Year EmployedGNP.deflator 1.0000000 0.9915892 0.6206334 0.4647442 0.9791634 0.9911492 0.9708985GNP 0.9915892 1.0000000 0.6042609 0.4464368 0.9910901 0.9952735 0.9835516Unemployed 0.6206334 0.6042609 1.0000000 -0.1774206 0.6865515 0.6682566 0.5024981Armed.Forces 0.4647442 0.4464368 -0.1774206 1.0000000 0.3644163 0.4172451 0.4573074Population 0.9791634 0.9910901 0.6865515 0.3644163 1.0000000 0.9939528 0.9603906Year 0.9911492 0.9952735 0.6682566 0.4172451 0.9939528 1.0000000 0.9713295Employed 0.9708985 0.9835516 0.5024981 0.4573074 0.9603906 0.9713295 1.0000000

> cor(longley) GNP.deflator GNP Unemployed Armed.Forces Population Year EmployedGNP.deflator 1.0000000 0.9915892 0.6206334 0.4647442 0.9791634 0.9911492 0.9708985GNP 0.9915892 1.0000000 0.6042609 0.4464368 0.9910901 0.9952735 0.9835516Unemployed 0.6206334 0.6042609 1.0000000 -0.1774206 0.6865515 0.6682566 0.5024981Armed.Forces 0.4647442 0.4464368 -0.1774206 1.0000000 0.3644163 0.4172451 0.4573074Population 0.9791634 0.9910901 0.6865515 0.3644163 1.0000000 0.9939528 0.9603906Year 0.9911492 0.9952735 0.6682566 0.4172451 0.9939528 1.0000000 0.9713295Employed 0.9708985 0.9835516 0.5024981 0.4573074 0.9603906 0.9713295 1.0000000

x 아규먼트로 longley 데이터 입력

첫번째 아규먼트는 x 로 정의되어 있으므로 아규먼트 명 입력없이 수행해도 똑같은 결과를 얻음