미혼/비혼에 대한 목소리가 높아지며 세상은 보다 다양한 가족의 형태에 집중하고 있다. 이와 관련하여 프랑스는 법을 도입했다. 결혼과 단순한 동거 사이의 ‘사실혼’ 관계를 법제화한 ’시민연대계약(PACS·pacte civil de solidarité)’이라는 형태의 가족 형태를 인정해주는 제도를 형성한 것이다. 이는 “주거·생계 공유하면 가족”…해외도 변화 겪는 ‘가족관’ 등의 기사를 통해서도 접할 수 있다.
해당 기사는 “1999년 만들어진 이 제도는 프랑스 민법에 ’성별에 관계없이 2명의 성인이 공동생활을 영위하기 위해 체결하는 계약’이라고 규정돼 있습니다. 팍스 당사자들은 혼인한 부부와 동일한 사회보장 제도 혜택을 받을 수 있습니다.(중략)팍스의 2022년 프랑스 내 등록 건수는 20만 건을 넘기기도 했습니다. 독일도 2001년 ’등록된 생활동반자관계법’을 입법해 혼인과 유사한 공동체를 법으로 규정했습니다.(중략)관련 연구를 진행한 전윤정 국회 입법조사처 입법조사관은”대안적 가족 제도들이 비혼 동거가족에 대한 법·제도의 사각지대를 메우고 보호하려는 목적을 가진 점은 중요한 시사점”이라고 설명”한다. 프랑스, 독일 등에도 존재하는는 동거에 관련한한 가족이라는 의미의 확장은 한국에게도 마냥 먼 얘기는 아니다.
최근 혼인 관계가 아님에도 불구하고 함께 동거하며 서로의 신체적/정신적 건강 상태를 살피며 함께하는 동거인들의 수 또한 증가하는 추세이다. 이들은 ’동거법’의 필요성을 역설하는 등 보다 다양한 가족 형성 형태를 인정하기를 바라는 목소리를 내고 있다. 때문에 ’함께 사는 것’이 개인의 건강상태에 미치는 다양한 영향과 요인들에 대해 연구하고자 한다.
이번 분석에 사용한 데이터는 ’2023년 18차 한국복지패널조사 (가구용 데이터)’이다.
이번 분석의 변수로는 ‘건강검진 횟수’와 ’건강 상태’, ‘동거 여부’, ‘혼인 여부’, ’1년간 근심이나 갈등을 초래한 문제(1순위)’를 선택했다.
’건강 상태’는 1에 가까울수록 건강함을 나타내는 데이터이며, ’동거 여부’는 1번이 긍정(동거 중)/ 1번 이외가 부정(동거 X)을 나타내는 데이터이다. ’혼인 여부’는 1번이 긍정(혼인 상태)/ 1번 이외가 부정(혼인 X인 상태)을 나타낸다. ’건강검진 횟수’는 직접 기입하는 형태의 숫자 데이터이기 때문에 클 수록 건강검진 횟수가 높은 것이다. ’1년간 근심이나 갈등을 초래한 문제(1순위)’는 2, 3, 4, 5, 6, 7, 8, 11번 항목은 가족 구성원 관련 문제, 이외는 가족 이외의 문제로 나누어 살펴 보았다.
library(dplyr)
##
## 다음의 패키지를 부착합니다: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(haven)
library(ggplot2)
Data = read_sav("~/R/Koweps_h18_2023_beta1.sav") #가구용 데이터
Data<-as.data.frame(Data)
Data = Data %>%
select(
checkup = h1802_8, #건강검진 횟수
health = h1802_2, #건강 상태
Lwith = h1801_13, #동거 여부
marry = h1801_11, #혼인 여부
problem = h1817_1, #1년간 근심이나 갈등을 초래한 문제(1순위)
)
데이터를 선택한 이후 결측치와 이상치를 확인하고 데이터를 정제한다.
#이상치 확인
outlier <- Data %>% select(checkup, health, Lwith, marry, problem)
boxplot(outlier)$stats
## [,1] [,2] [,3] [,4] [,5]
## [1,] 0 1 1 1 0
## [2,] 0 2 1 1 0
## [3,] 1 3 1 1 0
## [4,] 1 4 1 2 4
## [5,] 2 5 1 3 10
Data$checkup <- ifelse(Data$checkup < 0 | Data$checkup > 2, NA, Data$checkup )
Data$health <- ifelse(Data$health < 1 | Data$health > 5, NA, Data$health )
# Lwith 변수의 분포 확인
table(Data$Lwith)
##
## 1 2 3 4 5 6 7 8
## 7534 107 4 3 2 1 1 2
table(Data$marry)
##
## 1 2 3 4 5
## 4028 2101 766 85 674
Data$problem <- ifelse(Data$problem < 0 | Data$problem > 10, NA, Data$problem )
table(is.na(Data$checkup))
##
## FALSE TRUE
## 7650 4
table(is.na(Data$health))
##
## FALSE
## 7654
table(is.na(Data$Lwith))
##
## FALSE
## 7654
table(is.na(Data$marry))
##
## FALSE
## 7654
table(is.na(Data$problem))
##
## FALSE TRUE
## 7567 87
#결측치 확인
na_counts <- apply(Data, 2, function(x) sum(is.na(x)))
# 결과 출력
na_counts
## checkup health Lwith marry problem
## 4 0 0 0 87
#결측치 제외
Data <- Data %>% filter(!is.na(checkup)&!is.na(marry)&!is.na(problem))
na_counts <- apply(Data, 2, function(x) sum(is.na(x)))
# 결과 출력
na_counts
## checkup health Lwith marry problem
## 0 0 0 0 0
outlier_processed <- Data %>% select(checkup, health, Lwith, marry, problem)
boxplot(outlier_processed)
Lwith 데이터와 marry 데이터는 데이터의 양을 보존하기 위해, 소수의 문항 답변 분포가 이상치로 분류되는 경우를 제외하기 위해 이상치로 측정되는 분류를 제거하지 않는다.
# 동거 여부 레이블 추가
Data <- Data %>%
mutate(
Lwith_label = case_when(
Lwith == 1 ~ "Living Together",
Lwith != 1 ~ "Not Living Together",
TRUE ~ "Unknown"
)
)
# 건강 상태 분포를 박스 플롯으로 시각화
ggplot(Data, aes(x = Lwith_label, y = health, fill = Lwith_label)) +
geom_boxplot() +
labs(title = "Health Status by Living Status",
x = "Living Status",
y = "Health Status (1 = Healthiest)") +
theme_minimal() +
scale_fill_manual(values = c("Living Together" = "blue", "Not Living Together" = "red"))
해당 박스플롯을 통해 함께 사는 이들의 건강지표에 대한 절대적 데이터
양이 많기 때문에 보다 넓은 범위에 분포하고 있음을 예측할 수 있다. 1에
가까울 수록 건강하다는 응답이기 때문에, 동거 중인 이들과 동거하지 않는
이들의 신체적 건강은 데이터 양에 따른 분포의 차이가 두드러지지만 건강
상태의 긍정성 자체에서는 크게 차이가 나지 않는다고 볼 수 있다. 앞선
데이터를 토대로 동거(법적 가족, 혈연/동거인)하고 있는 이들이 동거하고
있지 않은 이들과 건강지표의 큰 차이를 보이고 있는지 탐색할 것이다. 이를
위해 건강검진의 횟수를 동거 여부에 따라 평균 그래프를 그려
살펴본다.
동거하는 이들은 동거인에게 건강검진에 더욱 신경쓰도록 조언/주의를 받고
있는지 1년동안의 건강검진 횟수를 그래프로 나타내어 살펴보고자 한다.
# 데이터 필터링 및 그룹 정의
living_together <- Data %>%
filter(Lwith == 1) %>%
mutate(group = "Living Together")
not_living_together <- Data %>%
filter(Lwith > 1) %>%
mutate(group = "Not Living Together")
# 데이터 결합
combined_data <- bind_rows(living_together, not_living_together)
# 각 그룹의 건강검진 횟수 평균 계산
avg_checkup <- combined_data %>%
group_by(group) %>%
summarise(avg_checkup = mean(checkup, na.rm = TRUE))
# 그래프 시각화 (막대 그래프)
ggplot(avg_checkup, aes(x = group, y = avg_checkup, fill = group)) +
geom_bar(stat = "identity", position = "dodge", width = 0.7) +
labs(title = "Average Health Checkups by Living Status",
x = "Group",
y = "Average Health Checkups",
fill = "Group") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
해당 그래프를 통해 함께 사는 이들이 평균적으로 동거하지 않는 이들에 비해 1년 간 건강검진 횟수가 적다는 것을 알 수 있다. 해당 지표로 동거가 검강검진 횟수의 증진으로 이어지지 않는다는 것을 추측할 수 있다. 때문에 ’동거’를 통해 건강검진 횟수가 증진되거나 건강 상태의 유의미한 긍정적 변화를 살펴보기란 어렵다는 것을 분석 가능하다.
# 결혼한 사람들 (marry == 1) 그룹
y_marry <- Data %>% filter(marry == 1)
# 결혼하지 않은 사람들 (marry == 5) 그룹
n_marry <- Data %>% filter(marry == 5)
# 그룹 정의
livewith_ym <- y_marry %>% filter(Lwith == 1) %>% mutate(group = "Married & Living Together")
n_livewith_ym <- y_marry %>% filter(Lwith > 1) %>% mutate(group = "Married & Not Living Together")
livewith_nm <- n_marry %>% filter(Lwith == 1) %>% mutate(group = "Not Married & Living Together")
n_livewith_nm <- n_marry %>% filter(Lwith > 1) %>% mutate(group = "Not Married & Not Living Together")
# 데이터 결합
combined_data <- bind_rows(livewith_ym, n_livewith_ym, livewith_nm, n_livewith_nm)
# 각 그룹의 건강검진 횟수 평균 계산
avg_checkup <- combined_data %>%
group_by(group) %>%
summarise(avg_checkup = mean(checkup, na.rm = TRUE))
# 그래프 시각화 (막대 그래프)
ggplot(avg_checkup, aes(x = group, y = avg_checkup, fill = group)) +
geom_bar(stat = "identity", position = "dodge", width = 0.7) +
labs(title = "Average Health Checkups by Marital and Living Status",
x = "Group",
y = "Average Health Checkups",
fill = "Group") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
그래프를 통해 1) 결혼하였지만 함께 살고 있지 않은 이들의 건강검진 횟수가 가장 잦으며, 2) 결혼했으며 함께 살고 있는 이들, 3) 미혼이지만 동거인이 있는 이들, 4) 미혼이며 동거하고 있지 않은 이들 순으로 건강검진 횟수가 나열됨을 알 수 있다.
# 점 그래프 시각화
ggplot(combined_data, aes(x = group, y = health, color = group)) +
geom_jitter(width = 0.3, alpha = 0.7) + # 점 그래프 (투명도 조절)
geom_boxplot(width = 0.1, outlier.size = 0) + # 상자 그림 추가
labs(title = "Health Status by Marital and Living Status",
x = "Group",
y = "Health Status (1 = Healthiest)",
color = "Group") +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
네 그룹 모두 2번을 선택한 이들이 많았다. 위의 지표를 통해 건강 상태는 동반자에 의해 큰 차이를 만들지 않고 있음을 알 수 있기 때문에, 가족(동반인)과 관련한 문제로 인해 건강 상태가 나빠지는 것을 데이터로 확인할 수 있도록 그래프를 생성한다. 이를 위해 가족 관련 문제가 1년간 근심이나 갈등을 초래한 문제들 중 1순위인 그룹과 1순위가 아닌 그룹을 생성하여 이들 간의 건강 상태를 비교한다.
Data <- Data %>%
mutate(
problem_group = case_when(
problem %in% c(2, 3, 4, 5, 6, 7, 8, 11) ~ "Family Related",
problem %in% c(0, 1, 9, 10) ~ "Non-Family Related",
TRUE ~ "Unknown"
)
)
ggplot(Data, aes(x = health, fill = problem_group)) +
geom_density(alpha = 0.5) +
labs(title = "Density of Health Status by Problem Group",
x = "Health Status (1 = Healthiest)",
y = "Density") +
theme_minimal() +
scale_fill_manual(values = c("Family Related" = "blue", "Non-Family Related" = "red", "Unknown" = "grey"))
해당 그래프를 통해 가족과 관련된 문제가 없는 그룹이 건강 상태가 더욱 긍정적인 것을 알 수 있다. 가족 관련 문제가 있는 이들은 건강 상태가 안 좋은 선지(4번, 5번)에 가까워질수록 그 양이 증가하고 있다.
프랑스와 독일 등에서 동거와 관련된 다양한 정책이 쏟아지고 있다. 이는 사회적 변화의 흐름에 따라 재정될 필요가 있는 법안이다. 때문에 동거가 건강 등의 문제에 있어 무조건적으로 긍정적인 영향을 끼치지만은 않을 것임을 알더라도 관련 정책을 제정할 필요가 있다. 법적으로 규정하지 않더라도 이미 사회 속 가정의 형태는 다양해지고 있기 때문에 관련 법 제정은 필수적이다. 이미 비헌법적 동반자의 개념이 확산되고 있고, 이는 존중받아야 마땅한 사회의 변화이자 새로운 세대의 흐름이다.
그러나 위의 분석을 통해 동거인의 여부가 건강 상태를 유의미하게 긍정적으로 바꾸는 경우는 극소수라는 것을 알 수 있다. 다만, 동거하고 있는 가족 구성원으로 인해 발생하는 근심/걱정은 건강 상태가 부정적으로 변할 수 있다는 유의미한 지표가 나타난다. 때문에 동거법으로 인한 건강 지표의 긍정적 변화를 기대하는 것은 무리가 있다.
때문에 이러한 지점을 인지하며, 보다 많은 이들이 다양한 가정의 형태를 꾸릴 수 있도록 지지하는 법의 제정이 필요함을 역설한다.