
ADsP 데이터 마트 구축, 요약변수와 파생변수 차이, R 데이터 가공 패키지 reshape(melt·cast)·sqldf·plyr·data.table 핵심 정리
분석 모델을 만들기 전에 분석용 데이터를 만드는 단계가 바로 데이터 마트야
요약변수와 파생변수의 차이, 데이터 가공 패키지의 역할을 예시로 쉽게 정리해보자
ADsP 기초이론 정리 시리즈 19탄!!!
과목 : 3과목 데이터 분석
세부 영역 : R 기초와 데이터 마트 - 데이터 마트
1. 데이터 마트(Data Mart)란?
데이터 마트는 데이터 웨어하우스(DW)에서 특정 부서·분석 목적에 맞게 추출한 소규모 데이터 저장소야 (이론 04)
분석에서는 고객 단위로 변수를 정리한 "분석용 데이터셋"을 만드는 과정이라고 보면 돼
2. 요약변수 vs 파생변수
| 구분 | 요약변수 | 파생변수 |
| 의미 | 수집된 정보를 분석에 맞게 종합·집계한 변수 | 사용자가 특정 조건이나 함수로 새 의미를 부여한 변수 |
| 예시 | 기간별 구매 금액·횟수, 상품별 구매 여부, 위클리 쇼퍼 여부 | 근무시간 구매 지수, 주 구매 매장, 선호 가격대, 라이프스타일 지수 |
| 특징 | 재활용성이 높음, 많은 모델에 공통으로 사용 | 주관적일 수 있어 논리적 타당성 확보 필요 |
| 주의 | 연속형 변수는 구간화해 활용하기도 함 | 세분화·고객 행동 예측 등에 유용 |
구분 요령 : 단순 집계 = 요약변수, 사람이 의미를 만든 지표 = 파생변수
3. reshape 패키지 : melt와 cast
| 함수 | 기능 | 비유 |
| melt() | 식별자(id) 기준으로 넓은(wide) 데이터를 긴(long) 형태로 변환 | 가로로 퍼진 표를 세로로 녹이기 |
| cast() | 긴(long) 데이터를 원하는 형태(wide)로 재구성·요약 | 녹인 데이터를 원하는 틀에 다시 굳히기 |
4. 그 밖의 데이터 가공 패키지
| 패키지 | 특징 |
| sqldf | R의 데이터프레임에 SQL 문장(select, where, group by 등)을 그대로 사용 |
| plyr | split-apply-combine 방식 (나누고 → 함수 적용 → 합치기), 함수 이름 앞글자로 입력·출력 형태 표시 (ddply : data frame → data frame) |
| data.table | 대용량 데이터를 빠르게 처리, 키(key) 기반 인덱싱으로 검색 속도 향상 |
| dplyr | filter, select, mutate, group_by, summarise 등 직관적 데이터 처리 |
5. 데이터 마트 구축 후 탐색
| 단계 | 내용 |
| 기초 통계 확인 | summary()로 평균·사분위수 등 파악 |
| 결측값 확인 | is.na()로 결측 여부 확인 (이론 20) |
| 이상값 확인 | 상자그림·IQR로 이상값 탐지 (이론 21) |
| 분포 확인 | 히스토그램으로 치우침(왜도) 확인 |
[ 최근 기출 출제 포인트 ]
| 회차 | 출제 포인트 |
| 출제 경향 | 요약변수와 파생변수 구분, reshape(melt·cast)·sqldf·plyr 기능 구분 (최근 회차는 회귀·통계 비중이 커 출제가 적었던 파트) |
| 학습 팁 | R 기초·데이터 마트는 3과목 30문항 중 1~2문항 수준, 정의 위주로 빠르게 정리 |
[ 자주 묻는 질문 ]
Q. "최근 3개월 구매 금액 합계"는 요약변수야 파생변수야?
A. 단순히 기간별로 집계한 값이라 요약변수야, "평일 낮 구매 비율로 직장인 여부를 추정한 지수"처럼 의미를 만들면 파생변수야
Q. plyr의 ddply에서 dd는 무슨 뜻이야?
A. 첫 글자는 입력, 두 번째 글자는 출력 형태야, d = data frame이라 ddply는 데이터프레임을 받아 데이터프레임으로 돌려줘
[ 시험 포인트 정리 ]
| 키워드 | 핵심 |
| 데이터 마트 | 특정 목적의 소규모 분석용 데이터셋 |
| 요약변수 | 종합·집계 변수, 재활용성 높음 |
| 파생변수 | 의미 부여 변수, 주관적·논리적 타당성 필요 |
| melt / cast | wide → long / long → wide |
| sqldf | R에서 SQL 사용 |
| plyr | split-apply-combine |
[ 기출변형문제 ]
※ 47~49회 출제 포인트를 바탕으로 새로 만든 변형문제야
Q1. 다음 중 파생변수에 해당하는 것은?
① 최근 1개월 구매 횟수
② 월별 총 구매 금액
③ 평일 퇴근 시간대 구매 비율로 만든 직장인 지수
④ 상품 카테고리별 구매 여부
Q2. 요약변수에 대한 설명으로 가장 적절한 것은?
① 주관적이므로 반드시 논리적 타당성 검증이 필요하다
② 수집된 정보를 종합·집계한 변수로 재활용성이 높다
③ R에서 SQL을 쓰기 위한 패키지이다
④ 데이터를 long 형태로 바꾸는 함수이다
Q3. R의 데이터프레임에 select, where 같은 SQL 문장을 그대로 적용할 수 있게 해주는 패키지는?
① reshape
② sqldf
③ plyr
④ data.table
Q4. 식별자 변수를 기준으로 넓은 형태의 데이터를 긴 형태로 바꾸는 reshape 패키지 함수는?
① cast()
② melt()
③ merge()
④ apply()
Q5. 데이터를 나누고(split) 함수를 적용한 뒤(apply) 다시 합치는(combine) 방식으로 동작하는 패키지는?
① plyr
② sqldf
③ reshape
④ ggplot2
[ 정답 & 해설 ]
| 문항 | 정답 및 해설 |
| Q1 | ③ 특정 조건으로 새 의미를 만든 지표 = 파생변수, 나머지는 집계형 요약변수 |
| Q2 | ② 요약변수는 종합·집계 변수, 재활용성 높음 (①은 파생변수 설명) |
| Q3 | ② sqldf |
| Q4 | ② melt는 wide → long |
| Q5 | ① plyr = split-apply-combine |
다음 글은 비어 있는 값을 어떻게 처리할지 다루는
[이론 20] 결측값 처리 방법
을 정리해볼게!
▶ ADsP · AI 자격증 스터디 자료 보러가기 (AI DATA 자격증 스터디 클럽)
ADsP 준비하시는 분들 모두 화이팅입니다~~~~~ ^^