본문 바로가기
R

12. 기초통계분석의 개념과 시각화 방법

by #Glacier 2018. 11. 20.
반응형

안녕하세요. 오늘은 기초통계분석 중 기술통계가 무엇인지 개념을 알아보고 간단히 시각화하는 작업이 무엇이 있는지 알아보겠습니다.


1. 기술통계 (desvriptive statistics)

 1) 정의 : 데이터에 대한 통계적 자료분석에 앞서 데이터의 대략적인 통계적 수치를 계산해 봄으로서 데이터에 대한 대략적인 이해와

            앞으로 진행될 분석에 대한 통찰력을 얻기 위한 분석방법이다.

 2) 자료의 종류

  (1) 변수 : 수집된 자료에서 관심의 대상이 되는 특성이나 관측된 결과로서 주어지는 특성

  (2) 변수의 종류 : 질적변수(Qualitative Variable) 또는 범주형 변수(Categorial Variable)

                      양적변수(Quantitative Variable) : 연속형 변수(Continuous Variable), 이산형 변수(Discrete Variable)


 3) 자료의 형태에 따른 분류

  (1) 명목척도 자료 : 성별, 혈액형, 주거형태, 학과 등 의미는 없고 구분만 되는 것

  (2) 서열척도 자료 : 관측되는 개체들이 순서를 갖는 자료( 학년, 순위, 선호도 등 )

  (3) 등간척도 자료 : 관측값의 순서와 순서 사이의 간격에 의미가 있는 자료. (성적, 온도 등)

  (4) 비율척도 자료 : 간격(차이)에 대한 비율이 의미를 가지는 자료 (시간, 거리, 연령)


 4) 자료의 요약 : 질적자료와 양적자료

  (1) 질적자료의 요약 기법

   -도수 분포표, 막대 그래프, 원 그래프, 분할표


#자 이제 질적자료의 요약기법 사례를 들어서 실제로 해볼까요?

 R을 통해서 하도록 하겠습니다.

 시작할 때, MASS패키지를 이용할 것인데요, MASS패키지는 따로 인스톨 안해도 이미 내장되어있으므로 불러오기만 하면 됩니다.


library(MASS)

data(survey)

head(survey)


head(survey)
     Sex Wr.Hnd NW.Hnd W.Hnd    Fold Pulse Clap Exer Smoke Height      M.I
1 Female   18.5   18.0 Right  R on L    92    Left Some Never 173.00   Metric
2   Male   19.5   20.5  Left  R on L   104    Left None Regul 177.80 Imperial
3   Male   18.0   13.3 Right  L on R    87 Neither None Occas     NA     <NA>
4   Male   18.8   18.9 Right  R on L    NA Neither None Never 160.00   Metric
5   Male   20.0   20.0 Right Neither    35   Right Some Never 165.00   Metric
6 Female   18.0   17.7 Right  L on R    64   Right Some Never 172.72 Imperial

# 밑에 Age는 제가 지웠구요~ 보시면 Smoke 변수에 질적변수들이 여러 개 있는 것을 볼 수 있죠~


table(survey$Smoke)


Heavy Never Occas Regul 
   11   189    19    17


# 이렇게 table()함수를 쓰고 안에 $ 달러 표시는요 "~안에 있는"이라고 이해하면 됩니다. survey라는 데이터 안의 Smoke변수를

  선택한 것이라고 보시면 되겠죠. 그러면 저렇게 빈도를 다 표시해줍니다. 

  보시면 헤비스모커 11 전혀~안핀다 189 때때로 19 보통 17 ? 이런식으로 되있네요~ 그럼 이 빈도자료를 가지고 여러가지 시각화를

  해보겠습니다.


smoke<-table(survey$Smoke)

pie(smoke)



 # 요렇게 파이차트를 만들어 볼 수 있구요.


barplot(smoke)


# barplot()함수를 이용해 막대그래프도 나타낼 수 있습니다. 빈도를 나타내는데에서 효율적인 두 가지 도구들이죠.


# 분창표를 만들어볼까요

table(survey$Sex, survey$Smoke)


         Heavy Never Occas Regul
  Female     5    99     9     5
  Male       6    89    10    12


# 이렇게 성별로 나누어서 분창표를 만들었습니다~


# 자 그럼 이제 양적자료 요약을 위한 도구들을 알아볼까요?

  양적자료들을 요약하기 위한 도구들은 히스토그램, stem and leaf(잎 줄기 그림), 선 그래프, 산점도 등이 있습니다.

  이번에는 mtcars라는 데이터를 사용해보겠습니다.


data(mtcars)
str(mtcars)
'data.frame':   32 obs. of  11 variables:
 $ mpg : num  21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
 $ cyl : num  6 6 4 6 8 6 8 4 4 6 ...
 $ disp: num  160 160 108 258 360 ...
 $ hp  : num  110 110 93 110 175 105 245 62 95 123 ...
 $ drat: num  3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
 $ wt  : num  2.62 2.88 2.32 3.21 3.44 ...
 $ qsec: num  16.5 17 18.6 19.4 17 ...
 $ vs  : num  0 0 1 1 0 1 0 1 1 1 ...
 $ am  : num  1 1 1 0 0 0 0 0 0 0 ...
 $ gear: num  4 4 4 3 3 3 3 4 4 4 ...
 $ carb: num  4 4 1 1 2 1 4 2 2 4 ...


# data로 mtcars데이터를 불러오고 구조를 한번 봐야겠죠? 보니까 mpg, cyl, disp, hp, 등등 보니까 차에 대한 데이터라는 것을

  알 수 있고, 다 Numeric형태라는 것을 알 수 있습니다. 그러면 이제 mpg(연비단위)에 대해서 히스토그램을 그려보면

  어떻게 분포되어있는 지 알 수 있겠죠.


 

# 자 히스토그램을 통해서 연비 분포를 봤습니다.

 히스토그램과 바플랏의 차이를 아시겠나요? 둘다 빈도를 나타내고 있지만 바플랏은 명목변수에 대해 하나하나 빈도가 나타나있고

  히스토그램은 연속적으로 나타나있다는 점이 차이라고 보시면 되겠습니다.


# 이번엔 줄기 잎 그림(stem-and-leaf) 으로 마력(hp)을 나타내볼까요

stem(mtcars$hp)

  The decimal point is 2 digit(s) to the right of the |

  0 | 5677799
  1 | 0011111122
  1 | 55888888
  2 | 123
  2 | 556
  3 | 4

# 짜잔 ㅋㅋ 이렇게 완성됐습니다. 간단한 명령어로 수행하는게 참 좋죠~ 이것을 보고 있으니, 교수님들이 성적 발표할 때 통계학과가

 아닌데도 이런식으로 다양한 방식으로 점수를 알려주곤 하셨죠.. 해석하는 방법은 아시겠죠~? 아시면 천재입니다.

 제가 자료구조를 살펴본결과 너무 해석이 어려웠어요. 그만큼 이 stem 줄기 잎 그림이 마력을 잘 나타내진 못하고 있었죠.

 자료구조랑 같이 봐보신 분은 아실겁니다. 그래서 그냥 Default 값의 줄기 잎 그림을 보기 위해선 2자리수( 1~99)까지가 한 눈에

 보기가 쉽습니다. 이렇게 3자리수가 되면 보기가 이상해져요. 그래서 제가 stem을 찾아봤더니, scale 제약조건이 있네요.


stem(mtcars$hp, scale=2 )

  The decimal point is 1 digit(s) to the right of the |

   4 | 2
   6 | 2566
   8 | 1357
  10 | 590003
  12 | 33
  14 | 00
  16 | 555
  18 | 000
  20 | 55
  22 | 0
  24 | 55
  26 | 4
  28 | 
  30 | 
  32 | 5


# Scale=2로만 설정해 줘도 저렇게 자료가 한눈에 보기 편해졌습니다. 42, 62 , 65, 66 등등~ 하지만 홀수자리는 보지 못하고

 있습니다. 이것은 예시일 뿐 스스로 해서 가장 잘 나타내는게 뭘지 해보시면 좋겠네요.


# 이번엔 마력과 차 무게와의 관계를 보기위해 한번 산점도(scatter plot)로 나타내볼까요

  ggplot이라는 훌~륭한 도구를 쓸 려면 깔아줘야됩니다.

install.packages("ggplot2")
library(ggplot2)
ggplot(mtcars, aes(x=mtcars$hp, y=mtcars$wt)) + geom_point()




# 이렇게 ggplot2패키지를 이용해서 그려볼수 있죠. mtcars라는 데이터를 이용해서 축을 지정해주고

 geom_point()는 점을 찍어라는 겁니다. 찍어보니까 대체적으로 마력이 높으면 차무게도 높은 경향이 있는데 꼭 선형은 아니네요.

 마력이 높아도 무게가 꼭 무거운건 아니라고 보입니다. 그렇지만 어느 정도 관계는 있어보이네요


#자 그럼 이제 박스플랏(boxplot)을 가지고 표현해볼까요? 

제가가지고 있는 예제에서는 disp변수와 hp변수의 boxplot을 설명하고 있는데 disp가 뭘나타내는지 몰라서 찾아봤습니다.

Displacement, 즉 배기량을 얘기하네요. 배기량과 마력을 상자도표로 표현해보겠습니다.


# 이렇게 보면 1은 disp배기량이구요, 2는 hp 마력입니다. 박스플랏은 저렇게 큰 범위로 알려주는데,

 상자의 옆으로봤을때의 길이는 IQR이라고 하며 (Q3-Q1)로 나타냅니다. 즉 3분위수에서 1분위수를 뺀 길이죠.

 저기가 정상적인 범위라고 보면, 옆에 짝대기들은 대체적으로 최대값과 최솟값 사이를 나타냅니다.  

 그렇다면 저 2번 위에 똥그란 점은 뭘까요? 바로 outlier입니다. 마력이 335나되는데 저게 머냐면 Maserati Bora네요!


# 오늘은 다양한 시각화 방법을 간단하게 알아봤는데요~ 다음 시간에는 상관분석에 대해서 알아보도록 하겠습니다.


반응형

'R' 카테고리의 다른 글

14. 회귀분석의 개념  (0) 2018.11.20
13. 상관분석  (2) 2018.11.20
11. R을 이용한 추정과 검정  (0) 2018.11.20
10. 추정과 검정  (0) 2018.11.20
9. 통계분석의 개념  (0) 2018.11.20