1
Sungho Won, Ph. D.
Graduate School of Public Health
Seoul National University
Rex: 엑셀 기반 R연동
통계분석 소프트웨어
2
1. 서론
2. REx 란?
3. REx 그래픽스
4. REx 시계열분석
3
1. 서론
2. REx 란?
3. REx 그래픽스
4. REx 시계열분석
4
Statistical Software (SAS & R)
Features STATA SPSS SAS R
Learning curve Steep/gradual Gradual/flat Pretty steep Pretty steep
Use interface Programming/
point-and-click
Mostly point-
and-click
Programming Programming
Data
manipulation
Very strong Moderate Very strong Very strong
Data analysis Powerful Powerful Powerful /
versatile
Powerful /
versatile
Graphics Very Good Very Good Good Excellent
Cost Affordable
(perpetual
licenses,
renew only
when upgrade)
Expensive(but
not need to
renew until
upgrade, long
term licenses)
Expensive
(yearly
renewal)
Open source
5
Why R?
 R vs SAS or SPSS
A key benefit of R is that it provides near instant availability of new and
experimental methods created by its user base — without waiting for the
development/release cycle of commercial software. SAS recognizes the
value of R to our customer base…”
- Michael Gilliland, Product Marketing Manager SAS Institute
6
 R의 장점
 빠른 개발 및 활용
R의 장점 및 한계
2-3 년?
0-1 년?
7
 R의 한계?
R의 한계 및 전망
0-1 년?
?
 R의 최대 수혜자는 통계/전산 전공자
 생물, 의학 등 비전공자는?
8
 RExcel: R과 엑셀의 결합한 첫 번째 소프트웨어
 MS word 2010, 2013 버전 지원
RExcel
9
 RExcel의 장점
 엑셀을 활용하여 쉽게 통계 분석이 가능함.
 RExcel의 단점
 설치가 매우 어려움
 메뉴의 구성이 직관적이지 않음
 유료
RExcel
10
1. 서론
2. REx 란?
3. REx 그래픽스
4. REx 시계열분석
12
REx 란?
http://healthstat.snu.ac.kr/rex/
13
REx 개발
 Microsoft Visual Studio 2015
 Microsoft Visual Basic .NET
 Microsoft Visual Studio Tools for Office
14
 System requirement
 Windows 기반의 운영체제
(32bit & 64bit, Windows 7 이상)
 Microsoft Office 2013 이상
 R 3.3.0 이상
REx 설치하기
15
 Required R packages
 직접적으로 필요한 패키지 (51): markdown, ggplot2, ggExtra, moments, AER, AICcmodavg, FactoMineR, devtools,
factoextra, MASS, survival, R2HTML, VIM, randomForest, psy, psych, cluster, fpc, R2HTML, car, GPArotation, dbscan, KMsurv, e1071, tree,
party, rpart, caret, partykit, party, philentropy, ade4, klaR, MASS, lme4, VGAM, car, AICcmodavg, rms, caret, pscl, ResourceSelection, MKmisc,
lmtest, VGAM, vcd, oii, coin, vcdExtra, plsdepot, ggfortify
 의존하는 패키지 (85): mime, digest, gtable, plyr, reshape2, scales, tibble, lazyeval, colourpicker, miniUI, shiny, shinyjs, car,
lmtest, sandwich, zoo, Formula, nlme, unmarked, VGAM, xtable, cluster, ellipse, flashClust, leaps, scatterplot3d, httr, memoise, whisker,
rstudioapi, jsonlite, git2r, withr, abind, dendextend, ggpubr, ggrepel, tidyr, colorspace, data.table, robustbase, sp, vcd, nnet, e1071, Rcpp,
laeken, mnormt, foreign, mclust, flexmix, prabclus, class, diptest, mvtnorm, kernlab, trimcluster, mgcv, pbkrtest, quantreg, modeltools,
strucchange, coin, foreach, ModelMetrics, recipes, dplyr, KernSmooth, combinat, minqa, nloptr, Hmisc, SparseM, polspline, multcomp,
htmlTable, htmltools, pbapply, RColorBrewer, rapportools, gmodels, Deducer, gnm, ca, gridExtra
 의존하는 패키지가 의존하는 패키지 (67): Rcpp, stringr, RColorBrewer, dichromat, munsell, labeling, R6,
viridisLite, rlang, htmltools, htmlwidgets, jsonlite, miniUI, shiny, shinyjs, httpuv, xtable, sourcetools, zoo, reshape, raster, curl, openssl, magrittr,
viridis, ggrepel, ggsci, tidyr, purrr, dplyr, cowplot, ggsignif, gridExtra, glue, stringi, tidyselect, DEoptimR, boot, modeltools, SparseM,
MatrixModels, codetools, iterators, ipred, dimRed, lubridate, timeDate, ddalpha, gower, RcppRoll, assertthat, bindrcpp, pkgconfig, latticeExtra,
acepack, htmlTable, base64enc, TH.data, knitr, checkmate, pander, gdata, JGR, rJava, effects, qvcalc, relimp
 의존하는 패키지가 의존하는 패키지가 의존하는 그 이하 패키지 (18) : stringi, magrittr,
yaml, prodlim, DRR, sfsmisc, bindr, evaluate, highr, backports, gtools, rJava, JavaGD, carData, survey, lava, CVST, numDeriv
REx 설치하기
16
 설치 순서
 R 설치하기
 R 패키지 설치하기
 REx 설치하기
REx 설치하기
17
 REx 시작하기 전에!
 REx 활성화 하기
REx 활성화
18
 REx 메뉴 구성
 그래픽스
 분포함수
 통계분석
REx 실행하기
19
 데이터의 구성
REx 데이터 준비하기
20
 데이터의 구성
REx 데이터 준비하기
21
 데이터의 구성
REx 데이터 준비하기
22
1. 서론
2. REx 란?
3. REx 그래픽스
4. REx 시계열분석
23
REx 그래픽스 구현
 ggplot2 + extension packages
 ggextra (scatter plot의 marginal 영역)
 GGally (scatter matrix)
 ggfortify (확률분포 및 diagnostic plot 등)
 ggplot2의 문법을 활용
 ggplot(data, aes(…), …) + …
 경우에 따라 excel에서 읽은 data를 함수 내에서
수정/변환하여 적절한 plot을 구현
24
REx 그래픽스 메뉴
Index plot Dot plot Histogram Density plot
Box plot QQ plot Scatter plot Scatter matrix
XY plot Mean plot Bar plot Pie plot
25
REx 그래픽스 예제
 Scatter plot
 Data
birth.csv
 Variables
bweight
gestwks
sex (group)
 Components
Smooth curve
Ellipse
Marginal box plot
Additional line
26
REx 그래픽스 예제
①
②
③
 산점도 그리기
27
 산점도 그리기
REx 그래픽스 예제
①
②
③
28
REx 그래픽스 예제
①
②
③
④
⑤
⑥
⑦
⑧
29
REx 그래픽스 예제
마우스오른쪽클릭 가능
30
1. 서론
2. REx 란?
3. REx 그래픽스
4. REx 시계열분석
31
REx 통계 분석 메뉴
기술
통계
그룹 비교 회귀분석 상관분석
범주형
자료 분석
분류 분석
차원
축소
시계열
분석
생존분석
데이터
요약
평균
비교
일표본 T 검정
선형회귀
분석
이변량
상관
분할표
분석
비지도
학습
K-평균
군집
요인분석
시계열
자료 탐색
생명표
독립표본 T
검정
가중선형
회귀분석
편상관
로그선형
분석
계층적 군집
대응일치
분석
지수평활법 Kaplan-Meier
대응표본 T
검정
편최소제곱 거리측도 DBSCAN
주성분
분석
ARIMA모형
Cox
비례위험모형
일원배치
분산분석
이분형
로지스틱
PAM 군집
GARCH
모형
다변량
분산분석
다항
로지스틱
지도
학습
의사결정
나무
비율
비교
일표본
비율검정
포아송
회귀분석
판별분석
이표본
비율검정
2-단계
최소제곱
K최근접
이웃기법
분산
비교
등분산검정
반복측정
회귀분석
SVM
다변량
회귀분석
 분석메뉴
32
REx 시계열분석 메뉴
 시계열자료 탐색
 지수평활법
 ARIMA 모형
 GARCH 모형
33
REx 시계열분석 메뉴 – 시계열자료 탐색
 시계열자료 탐색
 시계열 모형화 이전에 자료를 탐색하는 절차
 예(다양한 시계열 Plots):
시계열 도표, ACF, PACF, 계절별 도표, 지연 시차 도표 등
 예(각종 검정):
Box-Cox 변환, 백색잡음 검정, 단위근 검정 등
 주요 함수 구현: “forecast” package 사용
34
[시계열자료 탐색] 대화상자 구성
REx 시계열분석 메뉴 – 시계열자료 탐색
35
[시계열자료 탐색] 실행 결과 예
REx 시계열분석 메뉴 – 시계열자료 탐색
36
REx 시계열분석 메뉴 – 지수평활법
 지수평활법(Exponential Smoothing Method)
 단변량 시계열을 수준(level), 추세(trend), 계절(seasonality)
성분의 조합으로 모형화 및 예측
 주요 모형:
 단순, 이중 지수평활법(single or double ESM)
 Holt-Winters 계절 지수평활법 등
 주요 제공 옵션:
 모수 자동 추정
 분해 도표 및 각종 도표 출력, 예측 신뢰구간 제공
 주요 함수 구현: “forecast” package 사용
37
[지수평활법] 대화상자 구성
REx 시계열분석 메뉴 – 지수평활법
38
[지수평활법] 실행 결과 예
REx 시계열분석 메뉴 – 지수평활법
39
REx 시계열분석 메뉴 – ARIMA 모형
 ARIMA 모형
 자기회귀 누적 이동평균(autoregressive integrated moving-
average) 모형
 단변량 시계열을 ARIMA(p,d,q)(P,D,Q)s로 모형화 및 예측
 주요 제공 옵션:
 독립변수(외생변수) 도입 가능
 ARIMA 차수 자동 선택
 잔차진단 도표 제공
 주요 함수 구현: “forecast” package 사용
40
[ARIMA 모형] 대화상자 구성
REx 시계열분석 메뉴 – ARIMA 모형
41
[ARIMA 모형] 실행 결과 예
REx 시계열분석 메뉴 – ARIMA 모형
42
REx 시계열분석 메뉴 – GARCH 모형
 GARCH 모형
 일반화 자기회귀 조건부 이분산 모형(generalized
autoregressive conditional heteroscedastic model)
 단변량 시계열의 조건부 이분산을 모형화 및 예측
 주요 모형:
standard GARCH, integrated GARCH,
exponential GARCH, GJR GARCH, Threshold GARCH 등
 주요 제공 옵션:
다양한 오차 분포 결합 가능: normal, t, GED 등
조건부 평균을 위한 ARMA 모형 및 분수 차분 도입 가능
독립변수(외생변수) 도입 가능
조건부 이분산의 예측도표 제공
 주요 함수 구현: “rugarch” package 사용
43
[GARCH 모형] 대화상자 구성
REx 시계열분석 메뉴 – GARCH 모형
44
[GARCH 모형] 실행 결과 예
REx 시계열분석 메뉴 – GARCH 모형
45
REx 향후 일정 (계획)
 2017.12.01: v1.0 배포
 2019.01.01: v2.0 배포
 메타 분석 모듈
 유전체/전사체 데이터 분석 모듈
 벌점화 회귀분석 모듈
 Causal Inference
46
REx 개발팀
 서울대학교
 보건통계 연구실 I (김호교수)
 보건통계/생물정보 연구실 II (원성호교수)
김원지
안재훈
 중앙대학교 응용통계학과
 시계열 연구실 (성병찬교수)
47
Questions??

RUCK 2017 REx: 엑셀 기반 R 연동 통계분석 소프트웨어

  • 1.
    1 Sungho Won, Ph.D. Graduate School of Public Health Seoul National University Rex: 엑셀 기반 R연동 통계분석 소프트웨어
  • 2.
    2 1. 서론 2. REx란? 3. REx 그래픽스 4. REx 시계열분석
  • 3.
    3 1. 서론 2. REx란? 3. REx 그래픽스 4. REx 시계열분석
  • 4.
    4 Statistical Software (SAS& R) Features STATA SPSS SAS R Learning curve Steep/gradual Gradual/flat Pretty steep Pretty steep Use interface Programming/ point-and-click Mostly point- and-click Programming Programming Data manipulation Very strong Moderate Very strong Very strong Data analysis Powerful Powerful Powerful / versatile Powerful / versatile Graphics Very Good Very Good Good Excellent Cost Affordable (perpetual licenses, renew only when upgrade) Expensive(but not need to renew until upgrade, long term licenses) Expensive (yearly renewal) Open source
  • 5.
    5 Why R?  Rvs SAS or SPSS A key benefit of R is that it provides near instant availability of new and experimental methods created by its user base — without waiting for the development/release cycle of commercial software. SAS recognizes the value of R to our customer base…” - Michael Gilliland, Product Marketing Manager SAS Institute
  • 6.
    6  R의 장점 빠른 개발 및 활용 R의 장점 및 한계 2-3 년? 0-1 년?
  • 7.
    7  R의 한계? R의한계 및 전망 0-1 년? ?  R의 최대 수혜자는 통계/전산 전공자  생물, 의학 등 비전공자는?
  • 8.
    8  RExcel: R과엑셀의 결합한 첫 번째 소프트웨어  MS word 2010, 2013 버전 지원 RExcel
  • 9.
    9  RExcel의 장점 엑셀을 활용하여 쉽게 통계 분석이 가능함.  RExcel의 단점  설치가 매우 어려움  메뉴의 구성이 직관적이지 않음  유료 RExcel
  • 10.
    10 1. 서론 2. REx란? 3. REx 그래픽스 4. REx 시계열분석
  • 11.
  • 12.
    13 REx 개발  MicrosoftVisual Studio 2015  Microsoft Visual Basic .NET  Microsoft Visual Studio Tools for Office
  • 13.
    14  System requirement Windows 기반의 운영체제 (32bit & 64bit, Windows 7 이상)  Microsoft Office 2013 이상  R 3.3.0 이상 REx 설치하기
  • 14.
    15  Required Rpackages  직접적으로 필요한 패키지 (51): markdown, ggplot2, ggExtra, moments, AER, AICcmodavg, FactoMineR, devtools, factoextra, MASS, survival, R2HTML, VIM, randomForest, psy, psych, cluster, fpc, R2HTML, car, GPArotation, dbscan, KMsurv, e1071, tree, party, rpart, caret, partykit, party, philentropy, ade4, klaR, MASS, lme4, VGAM, car, AICcmodavg, rms, caret, pscl, ResourceSelection, MKmisc, lmtest, VGAM, vcd, oii, coin, vcdExtra, plsdepot, ggfortify  의존하는 패키지 (85): mime, digest, gtable, plyr, reshape2, scales, tibble, lazyeval, colourpicker, miniUI, shiny, shinyjs, car, lmtest, sandwich, zoo, Formula, nlme, unmarked, VGAM, xtable, cluster, ellipse, flashClust, leaps, scatterplot3d, httr, memoise, whisker, rstudioapi, jsonlite, git2r, withr, abind, dendextend, ggpubr, ggrepel, tidyr, colorspace, data.table, robustbase, sp, vcd, nnet, e1071, Rcpp, laeken, mnormt, foreign, mclust, flexmix, prabclus, class, diptest, mvtnorm, kernlab, trimcluster, mgcv, pbkrtest, quantreg, modeltools, strucchange, coin, foreach, ModelMetrics, recipes, dplyr, KernSmooth, combinat, minqa, nloptr, Hmisc, SparseM, polspline, multcomp, htmlTable, htmltools, pbapply, RColorBrewer, rapportools, gmodels, Deducer, gnm, ca, gridExtra  의존하는 패키지가 의존하는 패키지 (67): Rcpp, stringr, RColorBrewer, dichromat, munsell, labeling, R6, viridisLite, rlang, htmltools, htmlwidgets, jsonlite, miniUI, shiny, shinyjs, httpuv, xtable, sourcetools, zoo, reshape, raster, curl, openssl, magrittr, viridis, ggrepel, ggsci, tidyr, purrr, dplyr, cowplot, ggsignif, gridExtra, glue, stringi, tidyselect, DEoptimR, boot, modeltools, SparseM, MatrixModels, codetools, iterators, ipred, dimRed, lubridate, timeDate, ddalpha, gower, RcppRoll, assertthat, bindrcpp, pkgconfig, latticeExtra, acepack, htmlTable, base64enc, TH.data, knitr, checkmate, pander, gdata, JGR, rJava, effects, qvcalc, relimp  의존하는 패키지가 의존하는 패키지가 의존하는 그 이하 패키지 (18) : stringi, magrittr, yaml, prodlim, DRR, sfsmisc, bindr, evaluate, highr, backports, gtools, rJava, JavaGD, carData, survey, lava, CVST, numDeriv REx 설치하기
  • 15.
    16  설치 순서 R 설치하기  R 패키지 설치하기  REx 설치하기 REx 설치하기
  • 16.
    17  REx 시작하기전에!  REx 활성화 하기 REx 활성화
  • 17.
    18  REx 메뉴구성  그래픽스  분포함수  통계분석 REx 실행하기
  • 18.
    19  데이터의 구성 REx데이터 준비하기
  • 19.
    20  데이터의 구성 REx데이터 준비하기
  • 20.
    21  데이터의 구성 REx데이터 준비하기
  • 21.
    22 1. 서론 2. REx란? 3. REx 그래픽스 4. REx 시계열분석
  • 22.
    23 REx 그래픽스 구현 ggplot2 + extension packages  ggextra (scatter plot의 marginal 영역)  GGally (scatter matrix)  ggfortify (확률분포 및 diagnostic plot 등)  ggplot2의 문법을 활용  ggplot(data, aes(…), …) + …  경우에 따라 excel에서 읽은 data를 함수 내에서 수정/변환하여 적절한 plot을 구현
  • 23.
    24 REx 그래픽스 메뉴 Indexplot Dot plot Histogram Density plot Box plot QQ plot Scatter plot Scatter matrix XY plot Mean plot Bar plot Pie plot
  • 24.
    25 REx 그래픽스 예제 Scatter plot  Data birth.csv  Variables bweight gestwks sex (group)  Components Smooth curve Ellipse Marginal box plot Additional line
  • 25.
  • 26.
    27  산점도 그리기 REx그래픽스 예제 ① ② ③
  • 27.
  • 28.
  • 29.
    30 1. 서론 2. REx란? 3. REx 그래픽스 4. REx 시계열분석
  • 30.
    31 REx 통계 분석메뉴 기술 통계 그룹 비교 회귀분석 상관분석 범주형 자료 분석 분류 분석 차원 축소 시계열 분석 생존분석 데이터 요약 평균 비교 일표본 T 검정 선형회귀 분석 이변량 상관 분할표 분석 비지도 학습 K-평균 군집 요인분석 시계열 자료 탐색 생명표 독립표본 T 검정 가중선형 회귀분석 편상관 로그선형 분석 계층적 군집 대응일치 분석 지수평활법 Kaplan-Meier 대응표본 T 검정 편최소제곱 거리측도 DBSCAN 주성분 분석 ARIMA모형 Cox 비례위험모형 일원배치 분산분석 이분형 로지스틱 PAM 군집 GARCH 모형 다변량 분산분석 다항 로지스틱 지도 학습 의사결정 나무 비율 비교 일표본 비율검정 포아송 회귀분석 판별분석 이표본 비율검정 2-단계 최소제곱 K최근접 이웃기법 분산 비교 등분산검정 반복측정 회귀분석 SVM 다변량 회귀분석  분석메뉴
  • 31.
    32 REx 시계열분석 메뉴 시계열자료 탐색  지수평활법  ARIMA 모형  GARCH 모형
  • 32.
    33 REx 시계열분석 메뉴– 시계열자료 탐색  시계열자료 탐색  시계열 모형화 이전에 자료를 탐색하는 절차  예(다양한 시계열 Plots): 시계열 도표, ACF, PACF, 계절별 도표, 지연 시차 도표 등  예(각종 검정): Box-Cox 변환, 백색잡음 검정, 단위근 검정 등  주요 함수 구현: “forecast” package 사용
  • 33.
    34 [시계열자료 탐색] 대화상자구성 REx 시계열분석 메뉴 – 시계열자료 탐색
  • 34.
    35 [시계열자료 탐색] 실행결과 예 REx 시계열분석 메뉴 – 시계열자료 탐색
  • 35.
    36 REx 시계열분석 메뉴– 지수평활법  지수평활법(Exponential Smoothing Method)  단변량 시계열을 수준(level), 추세(trend), 계절(seasonality) 성분의 조합으로 모형화 및 예측  주요 모형:  단순, 이중 지수평활법(single or double ESM)  Holt-Winters 계절 지수평활법 등  주요 제공 옵션:  모수 자동 추정  분해 도표 및 각종 도표 출력, 예측 신뢰구간 제공  주요 함수 구현: “forecast” package 사용
  • 36.
    37 [지수평활법] 대화상자 구성 REx시계열분석 메뉴 – 지수평활법
  • 37.
    38 [지수평활법] 실행 결과예 REx 시계열분석 메뉴 – 지수평활법
  • 38.
    39 REx 시계열분석 메뉴– ARIMA 모형  ARIMA 모형  자기회귀 누적 이동평균(autoregressive integrated moving- average) 모형  단변량 시계열을 ARIMA(p,d,q)(P,D,Q)s로 모형화 및 예측  주요 제공 옵션:  독립변수(외생변수) 도입 가능  ARIMA 차수 자동 선택  잔차진단 도표 제공  주요 함수 구현: “forecast” package 사용
  • 39.
    40 [ARIMA 모형] 대화상자구성 REx 시계열분석 메뉴 – ARIMA 모형
  • 40.
    41 [ARIMA 모형] 실행결과 예 REx 시계열분석 메뉴 – ARIMA 모형
  • 41.
    42 REx 시계열분석 메뉴– GARCH 모형  GARCH 모형  일반화 자기회귀 조건부 이분산 모형(generalized autoregressive conditional heteroscedastic model)  단변량 시계열의 조건부 이분산을 모형화 및 예측  주요 모형: standard GARCH, integrated GARCH, exponential GARCH, GJR GARCH, Threshold GARCH 등  주요 제공 옵션: 다양한 오차 분포 결합 가능: normal, t, GED 등 조건부 평균을 위한 ARMA 모형 및 분수 차분 도입 가능 독립변수(외생변수) 도입 가능 조건부 이분산의 예측도표 제공  주요 함수 구현: “rugarch” package 사용
  • 42.
    43 [GARCH 모형] 대화상자구성 REx 시계열분석 메뉴 – GARCH 모형
  • 43.
    44 [GARCH 모형] 실행결과 예 REx 시계열분석 메뉴 – GARCH 모형
  • 44.
    45 REx 향후 일정(계획)  2017.12.01: v1.0 배포  2019.01.01: v2.0 배포  메타 분석 모듈  유전체/전사체 데이터 분석 모듈  벌점화 회귀분석 모듈  Causal Inference
  • 45.
    46 REx 개발팀  서울대학교 보건통계 연구실 I (김호교수)  보건통계/생물정보 연구실 II (원성호교수) 김원지 안재훈  중앙대학교 응용통계학과  시계열 연구실 (성병찬교수)
  • 46.