R|Rstudio

#1 데이터 확인하기(Checking)

루아흐뉴마 2018. 5. 21. 02:43
반응형
  • 항상 본인이 다루는 데이터가 어떤 모습을 띠고 있는지 확인할 필요가 있다.
  • R을 처음 만질 때는 이런 정보를 잘 확인하지 않게 된다. 빨리 결과를 보고싶기 때문...
  • 그런데 우여곡절 끝에 결과값을 도출해놓고 보면, 십중팔구 '어 이상한데?' 스러운 상황이 연출된다.
  • 결국엔 str이나 summary를 통해서 데이터를 살펴볼 수밖에 없다.
  • 이런 과정을 통해서 내가 가진 데이터를 깎아내고, 다듬고, 칠하고 등등...
  • 가공을 거쳐 완벽한 데이터셋을 만드는 작업이 필요하다는 생각에 이르게 된다.
  • R을 본격적으로 다루게 되는 시점이 바로 이 지점이다.
  • R 관련 함수 전체 보기

str 함수: 객체에 대한 정보를 요약적으로 제시

 
  • career 객체는 한국교육학술정보원(2017)의 고등학교 졸업자 진로현황 데이터를 가공하였다.
  • 달러표시($) 뒤에 붙은 단어는 모두 변수(Variable)를 의미한다.
  • region 변수는 각 고등학교가 소재하는 지역을 의미하는 변수이다.
  • 'Factor'라는 것을 보아 요인형 변수이며, 총 250개의 수준이다.
  • 지역이 총 250개로 나눠진다는 것인데,
  • "", "강원도 강릉시" 와 같은 형태로 보아 빈칸으로 입력된 데이터가 존재한다는 것을 알 수 있다.
  • 즉, 엄밀히 말하여 250개의 지역이 아니라 249개의 지역으로 되어 있다는 것이다.

 

str(career) 
## 'data.frame': 2063 obs. of 13 variables: ## $ region : Factor w/ 250 levels "","강원도 강릉시",..: 141 157 148 158 142 159 141 146 141 141 ... ## $ schoolcode: Factor w/ 2063 levels "S000003488","S000003490",..: 9 14 18 19 20 21 22 23 24 25 ... ## $ schoolname: Factor w/ 1958 levels "가곡고등학교",..: 232 885 233 2 18 27 42 54 58 61 ... ## $ classcode : int 4 4 4 4 4 4 4 4 4 4 ... ## $ state : Factor w/ 3 levels "공립","국립",..: 2 2 2 1 3 3 1 3 1 1 ... ## $ schoolchar: Factor w/ 5 levels "","일반고등학교",..: 5 2 5 2 2 2 2 2 2 2 ... ## $ time : Factor w/ 2 levels "","주간": 2 2 2 2 2 2 2 2 2 2 ... ## $ gradM : int 24 161 34 192 177 543 211 307 599 0 ... ## $ gradF : int 125 154 141 130 124 0 203 158 0 545 ... ## $ advanceM : int 17 91 27 105 115 233 85 179 246 0 ... ## $ advanceF : int 99 114 105 91 88 0 109 113 0 306 ... ## $ employM : int 0 0 0 10 7 0 0 0 0 0 ... ## $ employF : int 0 0 0 6 4 0 0 0 0 0 ...

  • 물론 이렇게 변수 하나에 대해서도 사용할 수 있다.
  • state 변수는 고등학교의 설립구분이다. 요인형 변수이다.
  • 3개 수준이 있는 것으로 보아 "공립", "국립", "사립"으로 구분되어 있을 것이다.

 

str(career$state) 
## Factor w/ 3 levels "공립","국립",..: 2 2 2 1 3 3 1 3 1 1 ...

summary 함수: 객체에 대한 기초통계량 제시

 
  • summary 함수는 변수의 형태(요인/정수/실수/문자 등)에 따라 다른 결과값을 보여준다.
  • state는 요인형 변수이기 때문에 각 요인의 수준(공립, 국립, 사립)에 따라 빈도(Frequency)를 출력한다.

 

summary(career$state)
## 공립 국립 사립 ## 1222 18 823
  • gradM 변수는 2017년 졸업한 남학생의 수이다.
  • 정수(Int)형 변수이기 때문에 기본적인 통계량을 출력한다.
  • NA는 결측값으로, 결측값이 32개라는 의미이다.
  • 2017년 기준, 평균적으로 한 학교당 123명 정도의 남학생이 졸업을 했다.
  • 또, 2017년 기준, 한 학교에서 최대 600명의 남학생이 졸업을 했다. (뭐하는 학교인지;; 남고로 추정된다.)
summary(career$gradM)
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's ## 0.0 9.0 97.0 122.4 194.5 600.0 32
 Copyright (2018) Ruahneuma. All Rights Reserved.
반응형