이번 게시글에서는 R과 ISLR2 라이브러리를 활용하여 데이터를 로드하고, 간단한 탐색적 데이터 분석(EDA, Exploratory Data Analysis) 을 진행해보겠습니다. 특히, Wage 데이터셋을 다루며 연령과 임금의 관계, 교육 수준에 따른 임금 변화를 분석해보겠습니다.
데이터 로드 및 패키지 불러오기
먼저 데이터셋과 group_by와 같은 기능을 사용하기 위해 library를 불러오겠습니다.
setwd("your_path")
library(ISLR2)
library(dplyr)
Wage 데이터셋 살펴보기
이번 게시글에서 다룰 데이터는 Wage 데이터 입니다. 말 그대로 임금 데이터셋을 다룰 것 입니다. 차후에 약 3개의 게시글 데이터셋 준비 이후 각 데이터를 주제로 분석해보겠습니다.
임금 데이터를 활용하여서 연령과 임금의 관계, 교육 수준에 따른 임금의 변화를 보고 새로운 인사이트를 도출해보겠습니다.
먼저 데이터의 형태가 어떻게 저장되어 있고 어떠한 변수들이 있는지 확인해보겠습니다.
names(Wage)
names(Wage) -> dataframe안에서 변수들을 확인할 수 있습니다.
변수들은 year, age, maritl, race, education, region, jobclass, health, helath_ins, logwage, wage로 11개가 있습니다.
이 중에서 year 제외하고 나머지의 변수 타입들은 num 혹은 categor임을 알 수 있습니다. 하지만 이 데이터에서 year가 어떠한 형식으로 저장되어 있는지 알아야 합니다. year는 숫자형 혹은 범주형 모두 적용될 수 있기 때문입니다.
summary(Wage)
Summary(Wage) _> dataframe 안에서 각 변수들의 정보를 확인할 수 있습니다.
굳이 str(Wage)하지 않고도 Summary(Wage)를 활용하면 데이터 구조를 확인할 수 있습니다.
이유는 범주형이면 1st qu , 3rd qu 가 나올 수 없기 떄문입니다. 따라서 이 말은 Min, 1st qu 등 과 같이 숫자형 분석으로 요약된 데이터들은 num, 그 외는 categorical임을 알 수 있습니다. 여기서 year은 num으로 처리 되어있습니다.
실제로 맞는지 str(Wage)로 확인해보겠습니다. 여기서 str은 문자형이 아닌 structure의 줄임말로 구조를 파악하다 라는 함수입니다.
str(Wage)
데이터 변환 및 시각화
데이터를 좀 더 보편적으로 시각화 하기 위해서 year를 숫자형이 아닌 범주형으로 변환 후 시각화 해보겠습니다.
summary(as.factor(Wage$year))
#categorical로 변환
par(mfrow = c(1, 3)) #multical (1행 3열)
plot(Wage$age, Wage$wage)
lines(lowess(Wage$age, Wage$wage),
col = "blue",
lwd = 4)
plot(Wage$year, Wage$wage)
lines(lowess(Wage$year, Wage$wage),
col = "red",
lwd = 4)
boxplot(Wage$wage ~ Wage$education)
1. Age & Wage
로컬 회귀 곡선(추세선)을 보면 60대 전에는 임금이 상승하고 이후에 유지 되다가 떨어지는 것을 확인할 수 있습니다.
즉 60세 전후 임금이 증가하다가 감소하는 추세입니다.
2.Year & Wage
변화가 크게 없어 보입니다. 하지만 매년 지속적으로 임금이 증가함을 알 수 있습니다.
뚜렷한 변화는 없어보이니 Group_by를 활용하여 확실하게 알아보겠습니다.
Wage %>% group_by(Wage$year) %>% summarise(M = mean(wage))
수치을 table로 보니 변화가 있음을 알 수 있습니다. year도 wage에 영향을 준다는 것을 확인할 수 있습니다.
3.Education_Level & Wage
Median의 변화를 확인해보면 평균적으로 교육수준이 높아질수록 임금이 증가함을 알 수 있습니다.
그렇다면 이러한 결과들만 가지고 즉 연령만으로 임금을 예측하거나 다른 변수들을 개별적으로 예측할 수 있을까요?
저는 아니라고 생각합니다. 유의미한 변동이 존재할 것 입니다.
지금까지 R을 활용한 데이터 로드 및 기본적인 탐색적 데이터 분석(EDA) 을 수행했습니다.
이번 분석에서 확인한 주요 내용
연령이 증가하면 임금도 증가하지만 60세 이후에는 감소하는 경향이 있었습니다..
연도는 크게 변동이 없어 보였지만, 그룹별 평균을 보면 연도별 임금 변화가 존재합니다.
교육 수준이 높을수록 임금이 높아지는 패턴을 보입니다.
..
하지만 이 변수들만으로 임금을 완벽하게 예측할 수 있을까요? 저는 그렇지 않다고 생각합니다.
변수 간의 복합적인 관계가 존재할 것이며, 보다 정밀한 분석이 필요합니다.
다음 게시글에서는 유의미한 변동을 찾는 것을 목표로, 더 깊이 있는 분석을 진행해보겠습니다.
'ISLR' 카테고리의 다른 글
모수적 방법, 비모수적 방법 (0) | 2025.03.20 |
---|---|
MSE (0) | 2025.03.20 |
ISLR | Basic | 데이터셋 탐색(Smarket_Data,NCI60_data) (2) | 2025.03.13 |