안녕하세요. 우주신입니다.
이전 기술통계 함수 포스팅에서는 데이터를 확인하고 데이터를 요약하는 함수들을 배웠습니다.
이번 시간에는 관측된 데이터를 그래프, 도표 등을 통해 시각화하는 방법에 대해 정리해보겠습니다.
hist(), boxplot(), qqnorm(), qqline()
데이터는 저번 시간과 같은 것으로 사용하겠습니다.
store.df <- read.csv("http://goo.gl/QPDdMl")
항상, 데이터 형태를 str() 함수로 확인하는 습관!
1. 히스토그램(histogram)
히스토그램은 가장 대표적인 그래프 중 하나 입니다. 히스토그램을 통해 특정 변수의 관측값의 빈도 분포를 직관적으로 파악할 수 있습니다.
히스토그램은 간단하게 hist( ) 함수를 사용하면 됩니다.
p1sales를 히스토그램으로 표현해보겠습니다.
hist(데이터프레임$변수명) 형태로 입력하면 빈도수를 기준으로 그래프가 바로 만들어집니다.
좀 더 응용해보겠습니다.
-store.df$p1sales: 데이터프레임$변수명
-main="Product1 Weekly Sales Frequencies": 히스토그램 main 제목을 입력
-xlab="Product1 Sales": x축 레이블 입력 (lab은 label의 줄인 단어)
-ylab="Count": y축 레이블 입력
-breaks=30: breaks 변수를 통해 빈도를 일정 단위로 묶는다 (10,40.. 값을 바꿔서 비교해보면 바로 이해가실겁니다)
-col="red": color를 빨간색으로 나타내라
-freq=FALSE: 히스토그램의 빈도를 확률로 나타내라 (hist() 함수는 빈도를 기본값으로 표현합니다)
이번에는, x축 값의 범위를 변경해보겠습니다.
위 코드에서 xaxt="n"를 추가함으로써 x축 값을 제거했습니다.
axis( )함수를 통해 x축 값의 범위를 지정하겠습니다.
-side=1: 1은 가로 2는 세로를 의미
-at = seq(60, 300 by=20): seq()함수를 통해 60부터 300까지 20간격으로 나타내라
p2sales도 한번 혼자서 해보시면 히스토그램은 끝!
더 자세한 기능은 ?hist를 입력해서 보시기 바랍니다
2. 박스도표(Boxplot)
상자그림(Boxplot)은 자료로부터 얻어낸 통계량인 요약수치를 가지고 수치적 자료를 표현하는 그래프입니다.
R에서는 boxplot()함수를 통해 상자그림을 나타냅니다.
-store.df$p2sales: 데이터프레임$변수명
-main="Weekly Sales of P2": 히스토그램 main 제목을 입력
-xlab="Weekly Sales": x축 레이블 입력 (lab은 label의 줄인 단어)
-ylab="P2": y축 레이블 입력
-horizontal=TRUE: 수평으로 나타내라
참고로, 사분위간 범위가 상자의 길이이며 중앙값은 상자 중간의 선으로 표현됩니다. (평균값이 아닙니다)
선은 최대값과 최소값까지 표현을 하고 그 밖의 점들은 특이점 입니다.
좀 더 응용해보자면,
-store.df$p2sales~store.df$storeNum: 하나 이상의 변수 입력함으로써 여러 박스 도표를 생성합니다. (X~Y)
-las=1: x축 범위의 값을 가로로 표현하라 (2로 할 경우 50, 100, 150, 200 값들이 세로로 표시됩니다)
히스토그램에서 했던 것과 같은 원리로 y축 값의 범위를 No, Yes로 바꿔봤습니다.
3. 분위수-분위수 도표(QQ Plot)
이번에는 정규성 검정을 확인하는 방법 중 하나인 QQ Plot을 보겠습니다.
이를 통해 특정 변수에 포함되어 있는 관측값들이 정규분포에 가까운지 확인할 수 있습니다.
QQ Plot은 qqnorm(), qqline() 함수를 통해 구할 수 있습니다.
-qqnorm(): 정규확률 산점도를 나타낸다
정규성을 검정하는 방법은, qqline()을 통해 산점도 점들이 대각선에 가깝게 선형을 이루면 정규성을 띈다고 평가하고 그렇지 않으면 정규성을 띄지 않다고 봅니다.
끝.
수고하셨습니다.
'R' 카테고리의 다른 글
[R] 비교연산자, 논리연산자 (0) | 2017.02.25 |
---|---|
[R] NA, NULL, NaN, Inf, -Inf 구분 및 처리 (3) | 2017.02.20 |
[R] 기술통계(Descriptive Statistics) 함수 (0) | 2017.02.11 |
[R] 엑셀 데이터 불러오기, 저장하기 (CSV파일) (0) | 2017.02.11 |
[R] 데이터프레임(DataFrame) 변수명 변경, 변수 선택 및 정렬 (5) | 2017.02.07 |
댓글