RM 데이터 전처리 따라하기 - 2
이번 포스팅에서는 데이터의 칼럼의 이름을 수정하는 Rename operator 에 대해 다루려 합니다.
데이터의 전처리라고 하기에는 좀 망설여 지는 부분이지만 데이터를 만지는 사람이라면 한 번쯤은 경험 했을 내용이기에 포스팅 하였습니다. 일반적으로 분석에 사용하는 정형화된 데이터는 Row 와 Column 으로 구성되어 있고, Column 에 대한 표현으로 사용분야에 따라 column, attribute, field, feature, variable 등이 있습니다. RM 에서는 attribute로 통칭 하고 있으며, Rename operator를 통해 attribute 의 이름을 변경 하고자 합니다.
Case 1) 데이터 Value 를 Attribute 이름으로 변경 일반 file 형태의 데이터를 읽어드릴 때 종종 우리는 header로 사용될 행을 그대로 데이터로 읽어 드 리는 경우가 있습니다. (무의식적으로 다음 버튼을 누르기 때문에 ^^;;) 데이터 양이 크지 않다면 다시 작업 하는 것을 추천 하지만, 다시 작업이 불가능 할 경우에 유용하게 사용할 수 있는 것이 Rename by Example Values operator 입니다.
Case 2) 특정 Attribute 이름 수정 가장 기본적인 경우에 해당 하는 것으로 기존의 Attribute 의 이름을 분석자의 편의에 맞도록 수정 하는 방법입니다. Rename Operator를 활용해서 Sex -> 성별, Age -> 연령으로 수정하고자 합니다.
Case 3) 복잡한 Attribute 이름들을 Simple 하게 변경
데이터를 분석 하다 보면 Attribute의 이름이 이해되지 않는 표현이나 너무 길어 사용이 어려울 경우 들이 있습니다. 이를 일괄적으로 단순 형태의 이름으로 변경 하고자 합니다. 위에서 작업된 데이터 셋의 Attribute 이름을 rename by Generic Names Operator를 활용하여 일괄적으로 Attribute_1,
Attribute_2, Attribute_3..... 로 변경해 보도록 합니다.
Case 4) 일괄적으로 Attribute 이름 변경하기
Attribute의 이름들에 있어서 공통적인 부분을 일괄적으로 변경하는 작업이 필요 할 경우들이 있습 니다. 단순한 단어 변경, 예를 들어 Attribute --> Att 로 바꾸는 작업은 Rename by Replacing operator 를 통해 쉽게 작업 할 수 있을 것입니다. 여기에서는 조금은 다른 형태의 변환이 필요할 경 우에 해당 operator를 사용하는 방법을 이야기 해 보고자 합니다. 가령 Attribute_1, Attribute_2, Attribute_3...을 제1항목, 제2항목, 제3항목... 으로 변경 하려고 합니다.
여기서 중요한 기능은 () 입니다. 원 단어에서 () 로 묶인 글자는 index 로 저장이 되어집니다. 이는 변경 단어를 지정 하는 부분에 있어서 $1 로 다시 호출 할 수 있게 되어집니다. 여기서 1의 의미는 첫번째 () 안의 글자를 이야기 하고, 만약 () 가 여러개 존재 하면 $1, $2 로 호출해서 사용할 수 있습 니다.
예제에서 Attribute_ 이후의 숫자값들을 다시 활용을 해야 하기 때문에 () 를 해주었습니다. 하지만 어떤 속성은 1 이 다른 속성은 2 또는 10 이 들어 있기 때문에 ()안에 명확한 글자 혹은 자리를 지정 하기가 어렵습니다. 그래서 또 하나의 정규 표현식인 .*. 를 사용하여 Attribute_ 이후의 모든 글자를 선택하라고 지정을 할 수 있습니다.
RM 에서 지원하는 정규 표현식은 edit 창에서 자세히 확인 가능합니다. 아마도 내용만 봐서는 이해가 힘들 수 있지만 Test를 통해 다양한 방법으로 본인이 원하는 결과물을 찾아 보면 점점 표현식에 대한 이해를 높일 수 있을 것입니다.