소프트웨어시스템실습 4강: 데이터 시각화 (그래프)
산점도(scatter plot) plot(x, y) 예) Mlbench패키지에 저장된 Ozone데이터 loading 각각 캘리포니아 Sandburg와 El Monte에서 매일 측정한 온도
그래픽 옵션 축 이름(xlab, ylab)
그래픽 옵션 그래프 제목(main)
그래프 옵션 점의 종류(pch) 숫자를 지정하면 미리 지정된 심볼 (구글에서 ‘r pch symbols’ 로 검색) 문자(예를들어 ‘+’)를 지정하면 그 문자를 사용
그래프 옵션 점의 크기(cex)
그래프 옵션 색상(col) col=“#FF0000” 또는 col=“red 목록은 colors()로 확인
그래프 옵션 좌표축 값의 범위(xlim, ylim)
그래프 옵션 type 예) cars 데이터: 속도에서 브레이크를 잡았을 때 제동거리를 측정
그래프 옵션
그래프 옵션 주행거리별 평균 제동거리
그래프 옵션 선유형(lty) 예) plot(card, type=“l”, lty=“dashed”)
그래프 옵션(그래프의 배열(mfrow)) 한 창에 여러 개의 그래프를 나열 par(mfrow = c(nr, nc)) #행과 열의 개수 지정 Par를 호출하면 이전 설정을 반환함. 이를 기억했다가 나중에 돌려놈
그래픽 옵션 지터(jitter) – 중복 표현 방지를 위해 약간의 노이즈 추가 예) Ozone데이터의 V6와 V7은 각각 LAX에서의 풍속과 습도 많은 중복
그래픽 옵션
기본 그래프 점(points) point() : 이미 생성된 plot에 점을 추가
기본 그래프 빈 그래프 먼저 그리고 나중에 추가하기 (type = n) xlim과 ylim을 생략하면 초기 빈 그래프가 만들어지지 않음
기본 그래프 선(lines) 예) [0, 2π]까지 sin 그래프
기본 그래프 회귀 분석(추세선 구하기) 회귀분석(x에 대항하는 y값 추정) plot(lowess(cars)) 실행해볼 것
기본 그래프 직선(abline) y = a + bx, y = h, x = v 형태의 직성 그리기 예) cars 데이터에서 dist = −5 + 3.5 × speed와 같은 직선 그리기
기본 그래프 그래프에 speed와 dist의 평균 직선 그리기 a, b, h, v는 고정
기본 그래프 곡선(curve) curve(expr, from, to)
범례(legend) 벡터형태이므로 자료형을 통일 x, y좌표를 지정해도 됨
상자 그림(boxplot) 제1사분위수, 중앙값, 제3사분위수를 보여준다. upper whisker 중앙값 + 1.5 * IQR 보다 작은 데이터 중 가장 큰 값(IQR = 제3사분위수 - 제1사분위수) 제3사분위수 중앙값 제1사분위수 lower whisker 중앙값 + 1.5 * IQR 보다 작은 데이터 중 가장 큰 값(IQR = 제3사분위수 - 제1사분위수) Outlier(이상치)
상자 그림(boxplot) 신뢰구간
상자 그림(boxplot) iris의 setosa종과 versicolor종의 Sepal.Width에 대한 상자 그림을 그린 뒤 이 두 종의 중앙 값이 다른지 비교 ||가 아니라 | (벡터간 비교) 원래 factor형 이지만 3개중 setosa와 versicolor만 남겨놓기 위해 다시 지정 신뢰구간이 오목하게 그려짐 Sepal.Width를 Species 마다 그리기 setosa와 versicolor의 신뢰구간이 겹치지 않으므로 이 두 그룹의 중앙값은 서로 다르다
히스토그램(hist) hist( x, # 벡터 데이터 breaks=“Struge”, #막대 너비. 기본값은 Struge로 n개일 때 ⌈log2(n) + 1⌉ #또는 데이터를 나눌 구분 값이 저장된 벡터 또는 함수 freq=NULL, # 기본은 빈도수, FALSE면 확률밀도 )
히스토그램(hist) 넓이가 1인 확률밀도
히스토그램(hist)
밀도 그림(density) 막대의 너비를 가정하지 않음 모든 점에서 밀도를 추정: 커널밀도추정방식 모든 점에서 밀도를 추정: 커널밀도추정방식 밀도그림과 히스토그램을 동시 표출
막대 그래프(barplot) 예) > > x <- c(2,5,8,5,7,10,11,3,4,7,12,15)
막대 그래프(barplot)
파이(pie) 그래프
모자이크 플롯(mosaicplot) 범주형 다변량 데이터를 표현(table형태의 분할표를 표현) 분할표 명목형, 순서형 데이터의 돗수 표현 예) 예) Titanic data 테스트-양성 테스트-음성 실제 –양성 92 5 (위음성) 실제- 음성 7 (위양성) 42
모자이크 플롯(mosaicplot)
ggplot2 패키지 Elegant Graphics Tool for Data Analysis
qplot() 함수 x축 y축 Clarity가 좋을 수록, Carat에 대한 price가 크게 반응함
qplot() 함수
ggplot() 함수 미적매핑 이후에 필요한 레이어 계속 추가 aesthetic mapping x축에 length 컬럼, y축에 width 컬럼을 매핑 미적매핑 이후에 필요한 레이어 계속 추가 처음에 aes 매핑한 후 geom_point() 함수만 그 매핑정보를 승계하여 coloring geom_smooth() 함수는 초기 aes 매핑한 것에 대하여 회귀선을 그림
ggplot() 함수 앞의 예와 비교 초기에 aes 매핑할 때 colour 옵션까지 넣었으므로, geom_smooth()함수는 각 colour값에 대한 8가지 회귀선을 그리게 됨
ggplot() 함수: geom_smooth
ggplot() 함수: geom_bar count: 각 빈(bin)에 해당하는 관측값의 개수 density: 각 빈(bin)의 밀도 (전체의 합이 1) ncount: count와 같으나 [0,1]로 스케일링 ndensity: density와 같으나 [0,1]로 스케일링
ggplot() 함수: geom_histogram
ggplot() 함수: geom_histogram
ggplot() 함수: geom_boxplot
ggplot() 함수: geom_density
ggplot() 함수: geom_density