Chapter 2 데이터 전처리 맛보기

2.1 웹R 접속하기

인터넷 브라우져를 통해 웹에서 하는 R 통계분석(web-r.org)에 접속한다. 웹에서 하는 R통계분석은 R 과 shiny를 이용하여 만든 shiny app으로 이를 이용하기 위해서는 HTML5를 지원하는 웹브라우져가 필요하다. 구글 chrome이나 safari 등의 웹브라우져를 이용하여 접속할 것을 권장한다. 인터넷 익스플로러에서는 테스트해보지 않아 제대로 동작하는지 보장하지 못한다.

2.2 로그인 및 무료서버 접속하기

웹R의 가입은 무료이므로 가입 후 로그인을 하면 “무료서버접속” 메뉴에서 무료서버접속을 할 수 있다. 웹에서 하는 R 통계분석 4.0 무료버젼 중 하나를 선택해 클릭한다.

2.3 웹에서 하는 R통계분석 첫 화면

잠시 기다리면 다음과 같은 화면이 나타난다. 처음 로딩할 때는 약 30초-1분 가량 걸리나 이후에는 프로그램의 로딩에 10초 정도 걸린다. 동그라미 부분에 보면 춤추는 바나나인형이 보이는데 이 인형이 춤추고 있는 경우 프로그램 내부에서 계산이 진행되고 있는 것이므로 춤을 멈출 때까지 기다렸다가 진행하는 것이 바람직하다. 영어가 편한 분들은 이 상태에서 진행하여도 무방하지만 한국어가 익숙하신 분들은 select languge에서 한국어를 선택한다(화살표).

2.4 데이터 전처리 예제 파일 다운로드 받기

다음 주소에서 데이터 전처리에 쓰일 파일을 다운로드 받는다. 다운로드 받을 파일은 dirty_data.xlsx 로 http://web-r.org/index.php?mid=book&document_srl=31912 에서 다운로드 받을 수 있다.

다운로드 받은 파일을 엑셀로 열어보면 다음과 같다.

참고로 R에서는 열이름에 공백이 있으면 안되고 %등 특수문자나 숫자로 열이름이 시작해서는 안된다. 엑셀에서는 상관이 없다.

2.5 예제 데이터 업로드

위에서 다운로드 받은 파일을 업로드하기 위해 Browse… 버튼(1)을 누르고 다운로드 받은 파일을 선택한 후(2) 선택버튼을 누른다(3).

업로드가 되면 “upload complete”메시지가 나타나고(화살표) 데이터이름이 uploaded로 바뀐다(4).

2.6 데이터 전처리 예제 선택

2.4 - 2.5의 다운로드와 업로드 과정 없이 데이터선택에서 dirty를 선택해도 같은 결과가 나타난다.

2.7 데이터 전처리

이 데이터를 바로 사용하여 분석을 진행하면 에러가 난다. 먼저 메뉴에서 dataWranging을 선택한다.

2.7.1 열이름 정리하기

화면을 아래로 이동하여 전처리선택하기에서 “열이름 정리하기”가 선택되어 있는 것을 확인하고 열이름정리하기 버튼을 누른다. R에서는 열이름에 공백문자를 사용할 수 없고 특수문자도 사용할 수 없다. 열이름정리하기 는 열 이름을 R에서 사용할 수 있도록 바꾸어 준다.

다시 화면을 위로 올려보면 열이름 중 공백이 _글자로 대치되고(예를 들어 first name이 first_name) %는 percent로 바뀌어 있는 것을 알수 있다. 또한 certification이라는 열 이름이 중복이 되어 있었는데 certification_9, certification_10으로 바뀌어 있는 것을 확인할 수 있다.

2.7.2 되돌리기와 다운로드

전처리 도중 전처리를 잘못한 경우를 대비하여 되돌리기 버튼(5)이 있는데 이 버튼을 누르면 바로 전의 상태로 되돌아간다. 또한 전처리가 끝난 데이터를 csv형식으로 다운로드(6) 받거나 RDS형식으로 다운로드(7) 받을 수 있는데 여러가지 이유에서 RDS형식으로 다운로드 받을 것을 권한다.

2.7.3 비어 있는 행/열 삭제

데이터를 보면 8번째 행이 비어있고 8번째 열 또한 비어있는 것을 확인할 수 있다. 경우에 따라 엑셀 파일을 업로드한 경우 데이터의 아래에 빈 행이 여러 개 나타나는 경우도 있다. 이런 경우 제대로 분석이 되지 않으므로 비어있는 행/열을 삭제할 것을 권한다. 화면을 아래로 이동하여 전처리 선택하기 중 “비어있는 행/열 삭제”를 선택한 후(사각형) “비어있는 행/열 삭제” 버튼을 누른다(화살표).

2.7.4 엑셀숫자를 날짜로

엑셀에서 날짜를 입력한 경우 R로 불러오면 숫자로 변환되어 있는 경우가 있다. 이 데이터의 경우 hire_date가 숫자로 변환되어 있는데 이를 날짜로 바꾸려면 먼저 모든 열에서 hire_date 열을 선택하여 오른쪽으로 옮긴후 “엑셀숫자를 날짜로” 버튼을 누르면 된다.

2.7.5 문자열을 날짜로

위의 데이터 중 admission_date는 문자로 변환되어 있다. 이를 날짜로 바꾸려면 먼저 admission_date를 선택한 후(1) 전처리 선택하기에서 “문자열을 날짜로” 를 선택한 후(2) “날짜로 바꾸기” 버튼을 누른다(화살표).

2.7.6 결측치(NA)로 만들기

경우에 따라 데이터가 누락되어 있는 경우 99, 999, NA등으로 표시하는 경우가 있다. 이 데이터에서 PENDING으로 표시되어 있는 것을 결측치로 만들려면 “NA(결측치)로 만들기”를 선택한 후(1) PENDING을 입력하고(2) “결측치(NA)로 만들기” 버튼을 누른다(화살표). 이 때 선택된 열(들)이 있는 경우 그 열(들)만 결측치 만들기가 진행되며 선택된 열이 없는 경우(3) 모든 열에 대해 변환이 진행된다.

2.7.7 열 합병하기

경우에 따라 두 개의 열에 있는 데이터를 병합하여 새로운 열을 만들어야 할 때가 있다. 이 데이터에서 certification_9와 certification_10에 있는 데이터 중 누락되지 않은 첫번째 값을 선택하려면 먼저 certification_9와 certification_10 두 개의 열을 선택하고(1) 전처리 선택하기 중 합병하기를 선택한 후(2) 합병하기 버튼을 누른다(화살표). 데이터의 마지막에 certification_All이라는 열에 두 개의 열이 합병되어 나타난다.

2.7.8 중복 데이터 찾기

데이터 중 중복된 값을 찾는 것ㅇ은 매우 간단하다. first_name과 last_name이 같은 데이터를 찾으려면 first_name과 last_name을 선택한 후(1) 중복데이터 찾기를 누르면 된다(화살표). 중복데이터를 찾은후 되돌리기를 누르면 다시 전의 상태로 돌아간다.

다음 장에서는 실제 설문조사 데이터를 가지고 전처리를 연습해본다.