R 기초 2 데이터 시각화 한국어 정보의 전산 처리 2019. 4. 9..

Slides:



Advertisements
Similar presentations
건국대학교 산업공학과 Ch 7. 공급사슬에서의 수요예측. 기업과 공급사슬에서 예측의 역할을 이해 수요예측의 요소를 파악 시계열 방법론을 이용한 수요 예측 Contents 과거의 수요정보는 미래 수요를 예측하는데 어떻게 사용할 수 있고, 이러한 예측들이 어떻게 공급사슬에.
Advertisements

운동시뮬레이션 제10주 실습 Random systems.
단체교섭 보고 ※ 본교섭 ※ 실무교섭 구 분 날 짜 비 고 상견례 1월19일 단협 시작 본교섭
밥상의 희로애락 제 5 강 욕망의 밥상 - 탐식 GOOD JOB 식사하셨나요?.
2. 문학의 활동 방법 [1] 문학의 수용 01 소설가 구보 씨의 일일 작가 소개 작품 정리 읽기 중 활동 학습 활동.
역량평가아카데미 과 목 교 육 내 용 피 드 백 Oral Presentation (보고자료 작성 및 발표 ) Role-play
3. C++와 객체지향 C++ 코딩 방법 객체 단위로 2 개의 파일 인터페이스 파일 구현파일
좋은 강의 국제관계학과 정연식.
T A B L E 작성자 : 이 재 학.
Keller: Stats for Mgmt & Econ, 7th Ed
한국어 정보의 전산 처리 강좌 소개 박진호 (서울대 국문과 교수).
자기소개서 작성법.
R 기초 2 데이터 시각화 한국어 정보의 전산 처리
의료의 질 평가 분석 기법 김 민 경.
Time Zone 적용 절차 [MM모듈] ’ 經營支援總括 Global ERP T/F.
(Statistical Modeling)
2주 실습강의 Java의 기본문법(1) 인공지능연구실.
HTML CSS 자바스크립트 무작정 따라하기
C++ 프로그래밍 2009년 2학기 전자정보공학대학 컴퓨터공학부.
엑셀을 이용한 테이블 자료 분석 한국어 정보의 전산 처리
통계자료의 탐색적 분석(EDA) 84 제 6 장 확률모형과의 비교 1. 그룹 데이터, 도수 자료
3D 캐릭터 애니메이션을 3D Studio MAX로 만들어보자
SSAS 변화된 구조와 사용자 분석 화면 구현 우철웅 기술이사 BI 사업부 인브레인.
9.확률 분포 정규 분포 형태 : 평균을 중심으로 좌우대칭의 종 모양을 가진 분포이다.
원격탐사 Group Project 강원랜드가 강원도 정선군 자연환경에 미친 영향 비교 (2000년, 2004년 2010년)
실험계획법 및 최적설계 Lab 김석민
7장 클래스.
윤 홍 란 4 장 클래스 작성 윤 홍 란
객체지향적인 프로그래밍에 대한 이해 클래스와 객체의 개념에 대한 이해
MINITAB for Six Sigma.
기 초 통 계 인하대학교 통계학과.
소프트웨어시스템실습 4강: 데이터 시각화 (그래프)
Multimedia Programming 10: Unsharp Masking/ Histogram Equalization
2.1 재배정 재배정요구등록 재배정승인취소 재배정부서연결 재배정단위업무연결
팀명 : Fighting 팀원 : 신현상 최찬수
4. 도표 다루기.
Flash를 이용한 벡터 애니메이션 제작.
제 18장 중첩과 정상파 Super-position and Standing Wave
제 7장 회귀분석 강 사 : 김 효 창.
Keller: Stats for Mgmt & Econ, 7th Ed
1. 컴퓨터 시스템 구성요소 메모리(Memory) 캐시메모리 개념 캐시메모리의 특징 적중률(hit ratio)
Java IT응용시스템공학과 김형진 교수 5장. 객체지향 개념 public class SumTest {
한국어 정보의 전산 처리 강좌 소개 박진호 (서울대 국문과 교수).
1. 학습목표 : 레이어 기능 익히기 layer blending mode : 위에 있는 레이어에서 바로 밑에 있는 레이어와 블랜드하는 기능(두 레이어에서 발생) opacity : 레이어의 투명도 조정 Adobe Photoshop CS3.
The normal distribution (정규분포)
Lua script cpp서 사용하기 Lua 버전
정보표준화를 위한 직무기술서 작성 목 차 정우 · 능원금속공업㈜ 경영혁신팀 1. 직무정보 수집의 목적(취지) 및 작성요령
“EASY-BUSINESS” 서비스 제안서.
데이터 사이언스 실무 시계열 분석 기초 유재명.
Demand Forecast.
Ⅶ. 평면도형 2. 부채꼴 [8/15] (2)부채꼴의 호의 길이와 넓이.
성립전예산 요구등록 (사업담당자) 사업관리카드 1 2
2015년 2학년 1반.
고급 베이지안 통계학 프로젝트 1 정구환, 최성준
(제작자: 임현수)모둠:임현수,유시연,유한민
대한민국-스웨덴 수교 60주년 기념 행사 주 스웨덴 대한민국 대사관 (토)
K Nearest Neighbor.
성전기공식(안) 식 순 1. 기공미사 2. 기 공 식 3. 축 하 연 천주교 수원교구 퇴촌성당.
Java 5장. 객체지향 개념 public class SumTest {
제안 제도 운영방안.
청소년 댄스 경연대회 제35회 문화체육관광부장관大賞 전국레크리에이션대회
선 택 학 습 사 회 6학년 1학기 3. 대한 민국의 발전 [2] 대한민국의 수립과 발전 13/14
Excel 2007을 이용한 통계학 제 2 장 자료의 정리.
표본분포 개요 랜덤추출법 표본분포 모양과 CLT.
Progress Seminar 선석규.
Progress Seminar 양승만.
Progress Seminar 신희안.
Progress Seminar 양승만.
Progress Seminar 권순빈.
Model representation Linear regression with one variable
Presentation transcript:

R 기초 2 데이터 시각화 한국어 정보의 전산 처리 2019. 4. 9.

ggplot2 기초: 함수 호출의 기초적 방법 Grammar of Graphics를 구현. Hadley Wickam이 만들었음. ggplot이라는 기본 함수와 geom(geometry) function이라는 layer를 결합 하여 plot을 그림. 함수 호출의 기본 개요 ggplot(data=<data>) + geom_<...>(mapping=aes(x=…, y=…)) geometry function의 mapping argument에 aes(aesthetics) 함수를 연결함. aes 함수에서는 x, y 좌표축에 연결할 변수를 제시하고 그 외의 변수도 추가로 지정할 수 있음. mapping은 ggplot 함수의 argument로 제시할 수도 있음. 붉은색 부분은 고정된 것이므로, 생략해도 됨. ggplot(mpg) + geom_point( aes(displ, hwy) ) mpg(자동차 모델별 정보)라는 데이터(테이블)에서 displ 변수(엔진 크기: 리터 수)를 x축으로, hwy(고속도로 연비)를 y축으로 하여, 각 모델을 이 좌표축 위에 점으로 나 타냄.

aes 함수의 mapping, attribute aes 함수에 x, y 좌표뿐 아니라, 기타 변수의 값에 따른 구분을 색깔(color), 모양(shape. 6개까지), 농도(alpha), 크기(size) 등으로 나타낼 수 있음. ggplot(mpg) + geom_point( aes(displ, hwy, color=class) ) class 구분(SUV, 2-seat, compact 등)을 색깔로 구분 ggplot(mpg) + geom_point( aes(displ, hwy, shape=drv) ) drv 구분(4륜구동, 전륜구동, 후륜구동)을 모양으로 구분 ggplot(mpg) + geom_point( aes(displ, hwy, alpha=cyl) ) cyl(실린더 수)을 농도로 구분 ggplot(mpg) + geom_point( aes(displ, hwy, size=year) ) year(출시 연도)를 크기로 구분 ggplot(mpg) + geom_point( aes(displ, hwy, color=class, shape=drv)) class를 색깔로, drv를 모양으로 구분 ggplot(stu) + geom_point(aes(kor,math, color=job, shape=gender, size=class)) 국어(x축), 수학(y축), 직업(색), 성별(모양), 계층(크기)

Facet을 이용한 多패널 plot aes 함수 내에서 x, y 좌표 외에 제3의 변수를 색깔 등으로 나타내는 방법 외에, 제3의 변수가 범주형 변수인 경우, 이 변수의 값에 따라 facet을 나누어 그래프를 따로 그릴 수도 있음. ggplot(mpg) + geom_point(aes(displ, hwy)) + facet_wrap(~class, nrow=2) x축=displ, y축=hwy로 하되, class의 값에 따라 7개의 facet으로 나누어 제시 ggplot(stu) + geom_point(aes(kor,math)) + facet_wrap(~job, nrow=2) x축=kor, y축=math로 하되, job의 값에 따라 7개의 facet으로 나누어 제시 제3 변수, 제4 변수를 조합하여 grid 형태로 제시할 수도 있음. ggplot(mpg) + geom_point(aes(displ, hwy)) + facet_grid(drv~cyl) drv(3가지 값)×cyl(4가지 값)=12가지 facet으로 나누어 제시 ggplot(stu) + geom_point(aes(kor,math)) + facet_grid(party~class) party(2가지 값)×class(3가지 값)=6가지 facet으로 나누어 제시

geom function들 scatterplot을 그려 주는 geom_point 함수 외에도 여러 geom 함수들이 있음. 함수의 이름은 plot의 종류와 대개 일치. geom_smooth: 두 수치 변수의 관계를 보여 주는 추이선(smooth) 및 표 준오차범위(standard error)를 보여줌 geom_boxplot: 관측치들의 분포를, 범주형 변수의 값 별로 boxplot으로 보여줌 geom_histogram geom_freqpoly geom_bar: 범주형 변수의 분포를 보여줌. geom_path, geom_line: 관측치들의 시간에 따른 변화 추이 양상을 선으 로 나타냄. 후자는 좌→우만 가능. 전자는 어느 방향이든 가능.

geom_smooth ggplot(stu) + geom_smooth(aes(math,phy)) x축=수학점수, y축=물리점수, 청색 선=smooth, 회색 띠=smooth를 중심으로 한 오차범위. 두 변수가 대체로 비례 ggplot(mpg) + geom_smooth(aes(displ,hwy)) x축=엔진크기, y축=고속도로연비, 이 둘이 대체로 반비례 geom_point와 geom_smooth를 함께 쓸 수도 있음. ggplot(stu) + geom_point(aes(math,phy)) + geom_smooth(aes(math,phy)) 수학점수와 물리점수의 관측치들에 대한 scatterplot과 smooth를 함께 제시 aes 함수의 mapping 내용이 두 geom 함수에 공통되므로, 공통 부분을 ggplot 함수의 argument로 몰아서 제시할 수도 있음. ggplot( stu, aes(math,phy) ) + geom_point() + geom_smooth() ggplot( mpg, aes(displ,hwy) ) + geom_point() + geom_smooth()

geom_smooth의 attribute geom_point 함수에서 색깔, 모양, 농도, 크기 등의 attribute를 사용할 수 있듯이, geom_smooth에서도 linetype 등의 attribute를 사용할 수 있음. ggplot( stu, aes( math, phy ) ) + geom_point() + geom_smooth( aes( linetype=gender ) ) 수학, 물리 smooth 곡선을 그리되, 성별에 따라 선 모양을 구분하여 그림 linetype 대신 group을 사용하면, 선 모양은 같되, smooth 곡선을 따로 그림 ggplot( stu, aes( math, phy, color=gender ) ) + geom_point() + geom_smooth( aes( linetype=gender ) ) color=gender가 ggplot 함수의 argument 속에 들어 있으므로, geom_point와 geom_smooth 양쪽에 다 적용됨. ggplot( stu, aes( math, phy ) ) + geom_point() + geom_smooth() + facet_wrap( ~gender, nrow=2 ) 수학, 물리 사이의 관계 그래프를 성별에 따라 두 facet으로 나누어 따로 그림

geom_smooth의 method geom_smooth 함수의 method parameter: smooth 곡선을 fitting할 때 사용할 통계모델과 방법을 지정함. default argument: loess n(관측치의 개수)이 작을 때 적당. local regression(최소제곱법)을 사용 곡선의 구불구불한 정도(wiggliness)를 span parameter로 지정. 0(매우 구불구 불)~1(구불구불하지 않고 매끈함) ggplot(stu,aes(math,phy)) + geom_point() + geom_smooth(span=0.7) ggplot(stu,aes(math,phy)) + geom_point() + geom_smooth(span=0.2) lm(linear model) method: 두 변수 사이의 관계가 선형 관계라고 전제 ggplot(stu,aes(math,phy)) + geom_point() + geom_smooth(method=lm) gam(generalized additive model) method: mgcv 패키지 load 필요 ggplot(stu,aes(math,phy)) + geom_point() + geom_smooth(method=gam, formula = y~s(x))

geom_boxplot 범주형 변수를 x축에, 수치형 변수를 y축에 표시. ggplot( stu, aes( job, avg ) ) + geom_boxplot() job별로 avg의 boxplot을 그림 ggplot( stu, aes( job, avg ) ) + geom_boxplot() + coord_flip() 90도 돌려서 제시함. x축 각 범주의 이름이 길어서 겹칠 때 유용. ggplot( stu, aes( job, avg ) ) + geom_violin() box 모양 대신 violin 모양으로 보여줌 어느 수치대에 관측치들이 몰려 있는지를 알아보고 싶을 때 유용 ggplot( stu, aes( gender, avg ) ) + geom_boxplot() ggplot( stu, aes( party, avg ) ) + geom_boxplot() ggplot( stu, aes( class, avg ) ) + geom_boxplot()

geom_bar 범주형 변수의 빈도를 barplot으로 보여줌. ggplot( stu, aes( job ) ) + geom_bar() 모든 geom_*** 함수는 stat_*** 함수를 자동 호출하며 default로 연결된 stat_*** 함수가 있음. geom_bar와 default로 연결된 것은 stat_count stat_count 함수는 범주형 변수의 빈도를 계산해 줌. stat_*** 함수를 호출해도, 마찬가지로 이와 default로 연결된 geom_*** 함수가 함께 자동 호출됨. geom_***와 stat_*** 사이의 이러한 default 연결을 바꿔 줄 수도 있음. ggplot( stu, aes( name, avg ) ) + geom_bar( stat="identity" ) + coord_flip() name의 값의 빈도를 보여주는 게 아니라, y축을 avg로 명시했음. ggplot(stu) + geom_bar(aes(x=job, y=..prop.., group=1)) job의 값의 빈도 대신 비율을 보여줌.

geom_bar의 attribute들 color: 막대의 윤곽선에 색깔이 추가됨. fill: 막대 내부에 색깔이 채워짐. ggplot(stu) + geom_bar( aes(job, color=job) ) fill: 막대 내부에 색깔이 채워짐. ggplot(stu) + geom_bar( aes(job, fill=job) ) x축 변수와 attribute에 연결하는 변수를 달리하면, 막대 내부에서 구분을 보여줌. ggplot(stu) + geom_bar( aes(job, fill=gender) ) position이라는 parameter는 “dodge”, “fill”, “identity” 값을 가질 수 있음. position parameter의 default는 “stack” 주의: color, fill은 aes 내부에 제시하는 반면에, position은 aes 바깥에 제시. identity: 막대들이 겹치게 됨. 2D geom에 적당. fill: 각 막대의 길이를 동일하게 함. 비율 비교에 적당. ggplot(stu) + geom_bar(aes(job, fill=gender), position="fill" ) dodge: x축 범주형 변수의 각 값마다, fill 범주형 변수의 각 값에 해당하는 막대들을 (stack식이 아니라) 옆에 나란히 보여줌. ggplot(stu) + geom_bar(aes(job, fill=gender), position=“dodge" )

jitter scatterplot을 그릴 때, 동일한 관측치가 있으면 둘 이상의 관측 치가 하나의 점으로 표시됨. 이 경우, 어느 부분에 관측치가 많이 몰려 있는지를 보려 할 때, 실제 자료의 빈도를 그래프가 제대로 반영하지 못하게 됨. 점의 위치에 약간의 오차를 도입하면 점들이 겹치지 않게 됨. ggplot(mpg, aes(displ, hwy)) + geom_point( position="jitter" ) ggplot(mpg, aes(displ, hwy)) + geom_jitter() 특히 x축 변수가 범주형 변수일 때는 관측치가 동일 위치에 몰 리는 현상이 두드러지므로, jitter가 유용함. ggplot(mpg, aes(drv, hwy)) + geom_point() ggplot(mpg, aes(drv, hwy)) + geom_jitter()

geom_histogram, geom_freqpoly histogram: 수치형 변수 1개를 x축에 일정한 범위(bin)로 묶어서 각 bin 에 속하는 관측치의 빈도를 보여줌. ggplot( stu, aes(avg) ) + geom_histogram() default bin의 개수는 30개 ggplot( stu, aes(avg) ) + geom_histogram( binwidth=5 ) bin의 폭을 5로 설정 freqpoly: histogram과 비슷한 것을 꺾은선 그래프로 보여줌 ggplot( stu, aes(avg) ) + geom_freqpoly( binwidth=1 ) ggplot( stu, aes(avg) ) + geom_freqpoly( binwidth=5 ) 범주형 변수를 attribute로 추가할 수 있음. ggplot( stu, aes(avg, color=gender) ) + geom_freqpoly( binwidth=5 )

시계열과 geom_line, geom_path geom_line과 geom_path는 시계열(time series) 자료, 즉 시간의 흐름에 따른 데이터의 변화 추이를 보여주는 데 적합. geom_line은 좌→우의 방향만 가능 geom_path는 어느 방향이든지 가능 연도별 실업률 추이 ggplot(economics, aes(date, unemploy / pop)) + geom_line() 연도별 실업 주수 중앙값 추이 ggplot(economics, aes(date, uempmed)) + geom_line() x=실업률, y=실업주수중앙값 ggplot(economics, aes(unemploy/pop, uempmed)) + geom_point() + geom_path() 추이선=회색, 관측치 농도를 연도별로 다르게 함. year <- function(x) as.POSIXlt(x)$year + 1900 ggplot(economics, aes(unemploy/pop, uempmed)) + geom_point(aes(color=year(date))) + geom_path(color="grey50")

ggplot의 geom_*** 총괄 cheatsheet : https://www.rstudio.com/wp- content/uploads/2015/03/ggplot2-cheatsheet.pdf 1변수 plot: y축은 빈도 범주형(이산형) 변수: geom_bar 수치형(연속형) 변수: geom_histogram, geom_freqpoly 2변수 plot x축 변수, y축 변수 둘 다 수치형(연속형) 변수: geom_point, geom_smooth x축 변수는 범주형(이산형)이고 y축 변수는 수치형: geom_bar, geom_boxplot, geom_violin