웹R을 이용한 통계분석의 맛보기를 데이터 전처리를 통해 살펴봅니다.
인터넷 브라우져를 통해 웹에서 하는 R 통계분석(web-r.org)에 접속한다. 웹에서 하는 R통계분석은 R 과 shiny를 이용하여 만든 shiny app으로 이를 이용하기 위해서는 HTML5를 지원하는 웹브라우져가 필요하다. 구글 chrome이나 safari 둥의 웹브라우 져를 이용하여 접속할 것을 권장한다. 인터넷 익스플로러에서는 데스트해보지 않아 재대로 동작하는지 보장하지 못한다.
웹R의 가입은 무료이므로 가입 후 로그인을 하면 “무료서버접속” 메뉴에서 무료서버
접속을 할 수 였다. 웹에서 하는 R 통계분석 4.0 무료버전 중 하나를 선택해 클릭한다.
잠시 기다리면 다음과 같은 화면이 나타난다. 처음 로딩할 때는 약 30초-1분 가량 걸리나 이후에는 프로그램의 로딩에 10초 정도 걸린다. 동그라미 부분에 보면 춤추는 바나나인형이 보이는데 이 인형이 춤추고 였는 경우 프로그램 내부에서 계산이 진행 되고 였는 것이므로 춤을 멈출 때까지 기다렸다가 진행하는 것이 바람직하다. 영어가 편한 분들은 이 상태에서 진행하여도 무방하지만 한국어가 익숙하신 분들은 select languge에서 한국어를 선택한다(화살표).
다음 주소에서 데이터 전처리에 쓰일 파일을 다운로드 받는다. 다운로드 받을 파일은 dirty_data.xlsx 로 http://web-r.org/index.php?mid=book&documentsrl=31912 에서 다운로드 받을 수 였다.
다운로드 받은 파일을 엑셀로 열어보면 다음과 같다.
참고로 R에서는 열이름에 공백이 였으면 안되고 %둥 특수문자나 숫자로 열이름이
시작해서는 안된다. 엑셀에서는 상관이 없다.
위에서 다운로드 받은 파일을 업로드하기 위해 Browse. . . 버튼(1)을 누르고 다운로드
받은 파일을 선택한 후(2) 선택버튼을 누른다(3).
업로드가 되면 “upload complete”메시지가 나타나고(화살표) 데이터이름이 uploaded
로 바뀐다(4).
2.4 - 2.5의 다운로드와 업로드 과정 없이 데이터선택에서 dirty를 선택해도 같은 결 과가 나타난다.
이 데이터를 바로 사용하여 분석을 진행하면 에러가 난다. 먼저 메뉴에서 dataWrang- ing을 선택한다.
화면을 아래로 이동하여 전처리선택하기에서 “열이름 정리하기”가 선택되어 였는 것 을 확인하고 열이름정리하기 버튼을 누른다. R에서는 열이름에 공백문자를 사용할 수 없고 특수문자도 사용할 수 없다. 열이름정리하기 는 열 이름을 R에서 사용할 수 였도록 바꾸어 준다.
다시 화면을 위로 올려보면 열이름 중 공백이 _글자로 대치되고(예를 들어 first name 이 first_name) %는 percent로 바뀌어 였는 것을 알수 였다. 또한 certification이라는 열 이름이 중복이 되어 였었는데 certification_9, certification_10으로 바뀌어 였는 것을 확인할 수 였다.
전처리 도중 전처리를 잘못한 경우를 대비하여 되돌리기 버튼(5)이 였는데 이 버튼을 누르면 바로 전의 상태로 되돌아간다. 또한 전처리가 끝난 데이터를 csv형식으로 다 운로드(6) 받거나 RDS형식으로 다운로드(7) 받을 수 였는데 여러가지 이유에서 RDS 형식으로 다운로드 받을 것을 권한다.
데이터를 보면 8번째 행이 비어였고 8번째 열 또한 비어였는 것을 확인할 수 였다. 경우에 따라 엑셀 파일을 업로드한 경우 데이터의 아래에 빈 행이 여러 개 나타나는 경우도 였다. 이런 경우 재대로 분석이 되지 않으므로 비어였는 행/열을 삭재할 것을 권한다. 화면을 아래로 이동하여 전처리 선택하기 중 “비어였는 행/열 삭재”를 선택한 후(사각형) “비어였는 행/열 삭재” 버튼을 누른다(화살표).
엑셀에서 날짜를 입력한 경우 R로 불러오면 숫자로 변환되어 였는 경우가 였다. 이 데이터의 경우 hire_date가 숫자로 변환되어 였는데 이를 날짜로 바꾸려면 먼저 모 든 열에서 hire_date 열을 선택하여 오른쪽으로 옮긴후 “엑셀숫자를 날짜로” 버튼을 누르면 된다.
위의 데이터 중 admission_date는 문자로 변환되어 였다. 이를 날짜로 바꾸려면 먼저 admission_date를 선택한 후(1) 전처리 선택하기에서 “문자열을 날짜로” 를 선택한 후(2) “날짜로 바꾸기” 버튼을 누른다(화살표).
결측치(NA)로 만들기
경우에 따라 데이터가 누락되어 였는 경우 99, 999, NA둥으로 표시하는 경우가 였다. 이 데이터에서 PENDING으로 표시되어 였는 것을 결측치로 만들려면 “NA(결측치) 로 만들기”를 선택한 후(1) PENDING을 입력하고(2) “결측치(NA)로 만들기” 버튼 을 누른다(화살표). 이 때 선택된 열(들)이 였는 경우 그 열(들)만 결측치 만들기가 진행되며 선택된 열이 없는 경우(3) 모든 열에 대해 변환이 진행된다.
0경우에 따라 두 개의 열에 였는 데이터를 병합하여 새로운 열을 만들어야 할 때가 였다. 이 데이터에서 certification_9와 certification_10에 였는 데이터 중 누락되지 않은 첫번째 값을 선택하려면 먼저 certification_9와 certification_10 두 개의 열을 선택하고(1) 전처리 선택하기 중 합병하기를 선택한 후(2) 합병하기 버튼을 누른다 (화살표). 데이터의 마지막에 certification_All이라는 열에 두 개의 열이 합병되어 나타난다.
데이터 중 중복된 값을 찾는 것0은 매우 간단하다. first_name과 last_name이 같 은 데이터를 찾으려면 first_name과 last_name을 선택한 후(1) 중복데이터 찾기를 누르면 된다(화살표). 중복데이터를 찾은후 되돌리기를 누르면 다시 전의 상태로 돌 아간다.
다음 장에서는 실재 설문조사 데이터를 가지고 전처리를 연습해본다.