지난 한 달 동안 R로 데이터 사이언스 여정을 시작한 방법
Source: Dev.to
Introduction
지난 한 달 동안 나는 전문가처럼 R을 사용해 실제 데이터를 분석하는 방법을 배우겠다는 명확한 목표를 가지고 데이터 사이언스에 진지하게 뛰어들었습니다.
스스로에게 도전하기 위해 전자상거래 분석 프로젝트를 전면적으로 수행했습니다. 요구사항이 많고 때때로 답답했지만, 그만큼 보람도 컸습니다. 아래에는 내가 배운 점, 진행 과정, 그리고 이 한 달의 경험이 내 여정에 전환점이 된 이유를 정리했습니다.
Getting Started with R
처음 R은 낯설고 다소 위압감이 있었지만, 적절한 라이브러리를 사용하기 시작하니 모든 것이 자연스러워졌습니다:
dplyr– 데이터 조작ggplot2– 시각화readxl및read.csv– 데이터 가져오기forecast– 첫 시계열 예측
파이프 연산자 %>% 로 파이프라인을 작성하는 것이 즐거워졌고, 마치 컴퓨터에게 명확한 사고 과정을 단계별로 안내하는 느낌이었습니다.
Organizing the Project
큰 교훈: 좋은 조직화가 중요합니다. 분석의 각 단계마다 별도의 스크립트를 만들었습니다:
data_import_cleaning.R– 데이터 가져오기 및 정제sales_analysis.R– 매출 분석product_insights.R– 제품 인사이트customer_segmentation.R– 고객 세분화seller_performance.R– 판매자 성과logistics_delivery.R– 물류 및 배송service_quality.R– 서비스 품질predictions.R– 예측visualizations.R– 시각화
그리고 메인 컨트롤러 스크립트 main.R 를 두었습니다.
이러한 접근 방식은 전문 데이터 분석가가 재현 가능한 워크플로우를 구축하는 방식과 일치합니다.
Data Cleaning Challenges
프로젝트에서는 다양한 지저분한 문제들을 마주했습니다:
- 일관되지 않은 날짜 형식
- 쉼표가 포함된 텍스트 형태의 숫자값
- 일관되지 않은 지역명
- 결측값
- 여러 데이터 소스의 병합
이 문제들을 해결하면서 실제 데이터셋이 어떻게 동작하고, 이를 어떻게 활용 가능한 형태로 만들 수 있는지에 대한 깊은 이해를 얻었습니다.
Analysis Performed
데이터 정제가 끝난 뒤 다음과 같은 분석을 수행했습니다:
- 월별, 분기별, 연도별 매출
- 베스트셀러 제품
- 고객 세분화 (프리미엄, 일반, 가끔)
- 판매자 성과
- 배송 지연
- 서비스 품질
- 배송 지연과 주문 취소 간의 상관관계
Visualizations
데이터에 숨겨진 이야기를 드러내기 위해 다양한 차트를 만들었습니다:
- 라인 플롯
- 바 플롯
- 스캐터 플롯
- 히트맵
계절적 패턴이 나타났고, 특정 카테고리가 우위를 차지했으며, 장시간 지연이 명확히 취소 증가로 이어졌습니다. 숫자는 실행 가능한 인사이트로 변환되었습니다.
Time‑Series Forecasting
auto.arima() 를 활용한 예측 작업은 가장 보람 있었던 부분 중 하나였습니다. 월별 매출을 시계열 객체로 변환하고 다음 분기를 예측했습니다:
library(forecast)
# Convert monthly revenue to a ts object
revenue_ts <- ts(monthly_revenue, start = c(2023, 1), frequency = 12)
# Fit ARIMA model
model <- auto.arima(revenue_ts)
# Forecast next quarter (3 months)
forecast_vals <- forecast(model, h = 3)
print(forecast_vals)
plot(forecast_vals)
역사적 데이터를 기반으로 R이 미래 값을 생성하는 모습을 보며, 진정한 데이터 과학자가 된 듯한 기분을 느꼈습니다.
Takeaways
이 프로젝트는 단순한 과제 수행을 넘어 R을 활용한 데이터 사이언스에 완전 몰입한 경험이었습니다. 나는 다음을 배웠습니다:
- 실제 세계 데이터를 정제하고 구조화하는 방법
- 비즈니스 성과를 분석하는 방법
- 의미 있는 시각화를 만드는 방법
- 예측 모델을 구축하는 방법
- 전체 분석 워크플로우를 조직하는 방법
무엇보다도, 이 한 달간의 여정은 나에게 자신감과 지속적인 동기를 부여했습니다. 솔직히 말해서? 이것은 시작에 불과합니다.