Write text and code here.

연구 목적 및 배경 설명

빈부격차는 현대사회의 고질병 중 하나로 시간이 지날수록 점점 더 심해지고 있다. ‘돈보다는 사람’, ’돈 보다는 건강’이라는 말은 사람과 건강도 돈으로 사는 현대시대에서는 통하지 않을 만큼, 현재 소득 수준은 삶의 만족감, 행복도와 관계가 크다고 생각한다. 따라서 본 보고서에서는 2024년 한국복지패널조사(KOWEPS) 자료를 활용하여 연령대별 가구 소득과 삶의 만족도 간의 관계를 분석하고자 한다. 소득 수준이 주관적 행복감에 어떤 영향을 미치는지, 그리고 이러한 경향이 연령에 따라 어떻게 다른지를 탐구한다.

데이터에 대한 개괄적인 설명

한국복지패널조사(KOWEPS)는 한국보건사회연구원(KIHASA)에서 매년 수집하는 대규모 패널 데이터로, 본 보고서에서는 19차년도(2024년) 데이터 파일을 사용했다.

주요 변수:

“p1902_8”: 응답자 연령(만 나이)

“p19_wg_l_all”: 가구 월 총 노동소득(단위: 만 원)

“np1906_1”: 삶의 만족도 (1 = 매우 불만족, 5 = 매우 만족)

데이터 정제 및 가공 과정

library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ lubridate 1.9.4     ✔ tibble    3.2.1
## ✔ purrr     1.0.4     ✔ tidyr     1.3.1
## ✔ readr     2.1.5     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(haven)  
library(ggplot2)
library(scales)
## 
## 다음의 패키지를 부착합니다: 'scales'
## 
## The following object is masked from 'package:purrr':
## 
##     discard
## 
## The following object is masked from 'package:readr':
## 
##     col_factor
# 데이터 로드드
data <- read_dta("koweps_p19_2024_beta1.dta")

# 변수 선택 및 명 변경경
cleaned <- data %>%
  select(age = p1902_8, income = p19_wg_l_all, life_sat = np1906_1) %>%
  filter(!is.na(age), !is.na(income), !is.na(life_sat)) %>%
  mutate(age_group = case_when(
    age < 30 ~ "Under 30",
    age < 45 ~ "30-44",
    age < 60 ~ "45-59",
    TRUE ~ "60+"
  ))

데이터 분석

연령대별 가구 평균 소득과 삶의 만족도를 살펴봤다다. 삶의 만족도는 1에서 5까지의 척도로 측정하였다.

summary_stats <- cleaned %>%
  group_by(age_group) %>%
  summarise(
    avg_income = mean(income, na.rm = TRUE),
    avg_life_sat = mean(life_sat, na.rm = TRUE),
    n = n()
  )

summary_stats
## # A tibble: 4 × 4
##   age_group avg_income avg_life_sat     n
##   <chr>          <dbl>        <dbl> <int>
## 1 30-44          1416.         1.67    45
## 2 45-59          1831.         1.2     10
## 3 60+               0          1.33     3
## 4 Under 30       3480.         1.78     9

그래프 만들기

Figure 1

연령대별 평균 가구 소득의 차이를 한눈에 쉽게 비교할 수 있도록 막대 그래프로 표현하였다. 막대 그래프는 각 연령대의 평균 소득 수준을 명확하게 보여주어 연령대별 소득 분포를 직관적으로 파악하는 데 적합하다.

색상은 scale_fill_brewer() 함수의 “Set2” 팔레트를 사용하여 부드럽고 조화로운 색상 조합을 선택하였다. 이 팔레트는 서로 구분되면서도 눈에 부담을 주지 않는 색상들로 구성되어 있어, 연령대별 그룹을 효과적으로 구분하면서도 시각적으로 깔끔한 그래프를 완성할 수 있다.

ggplot(summary_stats, aes(x = age_group, y = avg_income, fill = age_group)) +
  geom_col() +
  labs(x = "Age Group", y = "Average Monthly Income (10,000 KRW)",
       title = "Average Household Income by Age Group") +
  theme_minimal() +
  scale_fill_brewer(palette = "Set2")

Figure 2

마찬가지로 만족도 또한 막대그래프로 표현하여 직관성을 높였다. 색상 또한 마찬가지로 scale_fill_brewer() 함수의 “Set2” 팔레트를 활용해 눈에 쉽게 들어오게 했다.

ggplot(summary_stats, aes(x = age_group, y = avg_life_sat, fill = age_group)) +
  geom_col() +
  labs(x = "Age Group", y = "Average Life Satisfaction (1-5 Scale)",
       title = "Average Life Satisfaction by Age Group") +
  theme_minimal() +
  scale_fill_brewer(palette = "Set2")

Figure 3

관계성을 나타내는 그래프로는 산점도 그래프를 택했다. 가구 소득과 삶의 만족도 간의 관계를 점으로 표현하여 개별 관측치의 분포와 전반적인 경향을 동시에 보여준다. geom_jitter()를 사용해 데이터 점들이 겹치지 않도록 약간 위치를 흩뜨려 시각적 혼잡을 줄였고, 반투명도(alpha = 0.3)를 적용해 데이터 밀집도를 자연스럽게 표현하였다.

추가로 geom_smooth()에서 선형 회귀선을 그려 소득과 삶의 만족도 사이의 선형적 추세를 한눈에 파악할 수 있도록 하였다. 회귀선의 진한 빨간색(“darkred”)은 데이터 점들의 청색(“steelblue”)과 대비되어 추세선을 명확히 구분해준다.

ggplot(cleaned, aes(x = income, y = life_sat)) +
  geom_jitter(alpha = 0.3, color = "steelblue") +
  geom_smooth(method = "lm", color = "darkred") +
  labs(x = "Household Income (10,000 KRW)", y = "Life Satisfaction",
       title = "Scatterplot of Income vs. Life Satisfaction") +
  theme_minimal()
## `geom_smooth()` using formula = 'y ~ x'

##Figure 4 삶의 만족도의 분포와 변동성을 더 명확히 보기 위해 상자그림(boxplot)을 사용하였다. 이 그래프는 소득 구간별로 만족도의 중앙값, 사분위수, 이상치를 한눈에 파악할 수 있어 소득 수준에 따라 만족도의 분포가 어떻게 달라지는지를 직관적으로 보여준다. 특히 동일한 소득 구간 내에서도 만족도에 편차가 존재한다는 점을 시각적으로 확인할 수 있어, 단순한 평균 분석 이상의 해석을 가능하게 한다.

# 소득 구간 생성
cleaned <- cleaned %>%
  mutate(income_group = cut(income,
                            breaks = c(0, 100, 200, 300, 400, 500, Inf),
                            labels = c("≤100", "101-200", "201-300", "301-400", "401-500", "500+")))

# 상자그림 시각화
ggplot(cleaned, aes(x = income_group, y = life_sat, fill = income_group)) +
  geom_boxplot() +
  labs(x = "Monthly Household Income Group (10,000 KRW)",
       y = "Life Satisfaction (1–5 Scale)",
       title = "Distribution of Life Satisfaction by Income Group") +
  theme_minimal() +
  scale_fill_brewer(palette = "Set2")

##결론 본 연구에서는 2024년 한국복지패널조사(KOWEPS) 데이터를 활용하여 연령대별 가구 소득과 삶의 만족도 간의 관계를 분석하였다. 분석 결과, 가구 소득 수준이 삶의 만족도에 긍정적인 영향을 미치며, 특히 소득이 높을수록 삶의 만족도가 증가하는 경향이 나타났다. 이는 ’돈이 행복에 일정 부분 영향을 준다’는 일반적인 사회 인식을 통계적으로 뒷받침하는 결과이다.

또한 연령대별로 살펴본 결과, 소득과 삶의 만족도 간 관계에는 다소 차이가 있었으며, 특히 60세 이상 고령층에서 상대적으로 낮은 소득과 삶의 만족도가 관찰되었다. 이는 고령층의 경제적 안정성 확보가 주관적 행복감 향상에 중요한 요소임을 시사한다.

이처럼 소득 수준이 주관적 행복감에 미치는 영향은 분명하지만, 단순한 소득 증가만으로는 삶의 만족도를 완전히 설명할 수 없으며, 연령별 특성과 사회적 요인도 함께 고려해야 한다. 앞으로 정책적으로는 연령대별 맞춤형 소득 지원과 함께 고령층 복지 강화, 그리고 삶의 질을 높일 수 있는 다양한 사회적 지원이 필요할 것이다.

본 연구는 소득과 행복의 관계를 연령별로 세분화하여 살펴보았다는 점에서 의의가 있으며, 향후 더 다양한 요인을 포함한 분석과 장기적 추세 관찰을 통해 우리 사회의 행복 증진 정책 수립에 기여할 수 있을 것으로 기대된다.