제목의 표현처럼, 일반적으로 우린 완벽하지 않은 데이터를 다루게 됩니다.
예를 들어 고객이 입력한 개인정보 중 직장명, 직위, 부서명, 주소 등이 정확하게 입력되는 경우가 얼마나 될까요? 1%? 100만명의 데이터가 있다면, 만 명의 자료가 잘 못 입력되어 있다고 얘기할 수 있습니다.
예를 좀 더 세분화해서 위 예시 중 직위로 얘기해 보겠습니다. 가장 손쉽게(? 손쉽긴 하지만 꽤나 많은 수작업이 필요할 겁니다) 접근할 수 있는 방법은 다음과 같습니다.
1. 100만개의 data에서 직위에 대한 분포를 출력
2. 일일이 하나 씩 확인 >> 예를 들어 "사원"이 "시원"으로 잘못 표기되진 않았는지, "과장"이 "고장"으로 표기되진 않았는 지 등...
3. 다 확인한 후엔 간단(?)한 프로그램을 짠다. SAS를 program이라면 다음과 같을 겁니다.
if 직위 = "시원" then 직위_1="사원";
else if 직위="고장" then 직위_1="과장";
else if .....; /*여러번 반복해야겠죠?*/
else 직위_1=직위;
위 프로그램 수행 후 직위 / 직위_1의 데이터(분포)를 확인하고 이상이 없을 시, 직위_1을 사용하게 됩니다.
4. 하지만... 만약 또 다른 데이터가 생성/추가 되면 위 과정을 반복해야 합니다.
주소라면 어떨까요? "강남구"가 아닌 "강낭구", "동대문구"가 아닌 "동다문구"... 등 상상할 수 없는 여러 오타가 생길 수 있습니다.
이러한 사례는 의약학 분야에서도 많이 나타날 수 있습니다. eCRF를 등록할 때 다행이 질병명을 drop-down 방식으로 입력(사실 그 수 많은 질병을 일일이 클릭해서 drop-down하고, 찾아서 클릭하는 것도 엄청난 수고일 겁니다)하지 않는 한 어쩔 수 없이 오탈자가 생길 수 밖에 없습니다.
Data 분석의 70~80%는 데이터 준비(전처리 단계 포함)라고 할 수 있습니다. 이러한 준비 단계를 얼마나 빠르고 정확하게 할 수 있느냐가 여러분들의 분석업무의 질을 결정지을 수 있다고 감히 말씀드릴 수 있습니다. 여러분들은 JMP의 Recode 기능 중 Fixing Misspelled Words를 통해 말씀드린 목적을 이루실 수 있습니다.
서울특별시 주소 DB를 활용한 오탈자 수정 사례
우선 DB에 아래와 같은 데이터가 있다고 가정합니다. 보시다시피 첫 4개의 데이터는 오류 입력된 데이터이고, 나머지 4개의 데이터는 오탈자가 없습니다.
![DaeYun_Kim_2-1604374593721.png DaeYun_Kim_2-1604374593721.png](https://community.jmp.com/t5/image/serverpage/image-id/28019iEDF7D524A0E74357/image-size/small?v=v2&px=200)
만약 JMP의 Recode 기능이 없다면... 위 사례에서 첫 4개의 오탈자를 바꾸기 위해 각 오탈자 별로 수정해 주는 프로그래밍이 필요합니다. 하지만, JMP를 사용한다면? 이를 손쉽게 하기 위해 서울특별시 주소 DB를 받아 JMP data table로 미리 만들어 놓습니다(아래 스크린샷 참조, 첨부파일로도 제공드립니다).
![DaeYun_Kim_3-1604374734516.png DaeYun_Kim_3-1604374734516.png](https://community.jmp.com/t5/image/serverpage/image-id/28020iDF1352582A527B6A/image-size/large?v=v2&px=999)
모든 준비는 끝났습니다. 아래와 같이 실행해 보세요(간략한 동영상 내용도 마지막에 함께 첨부합니다).
1. 오류 입력된 JMP Data Table에서 시군구 변수를 선택(마우스 클릭)
2. JMP >> Cols >> Recode
![DaeYun_Kim_4-1604374958848.png DaeYun_Kim_4-1604374958848.png](https://community.jmp.com/t5/image/serverpage/image-id/28021i4B7C5CC2315F6986/image-size/large?v=v2&px=999)
3. Recode 창에서 RTM(Red Triangle Menu) 클릭 >> Advanced >> Choose Closest
![DaeYun_Kim_5-1604375055470.png DaeYun_Kim_5-1604375055470.png](https://community.jmp.com/t5/image/serverpage/image-id/28022iB2EF6A46E89A3FF1/image-size/large?v=v2&px=999)
4. Choose Table >> 서울특별시 선택
![DaeYun_Kim_6-1604375142938.png DaeYun_Kim_6-1604375142938.png](https://community.jmp.com/t5/image/serverpage/image-id/28023i6582A3C5CF9ADBEE/image-size/large?v=v2&px=999)
5. 시군구 선택 후 OK
![DaeYun_Kim_7-1604375219642.png DaeYun_Kim_7-1604375219642.png](https://community.jmp.com/t5/image/serverpage/image-id/28024i7CC6C95B147A22E2/image-size/large?v=v2&px=999)
6. 수정 완료
![DaeYun_Kim_8-1604375253222.png DaeYun_Kim_8-1604375253222.png](https://community.jmp.com/t5/image/serverpage/image-id/28025iCB09795C4FDAC14C/image-size/large?v=v2&px=999)
![DaeYun_Kim_9-1604375318754.png DaeYun_Kim_9-1604375318754.png](https://community.jmp.com/t5/image/serverpage/image-id/28026i29727B64845B2054/image-size/small?v=v2&px=200)
[동영상] JMP Recode 기능을 활용한 오탈자 수정
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.